cocos2d入门教程3:cocos2d运行机理
2012-08-02 20:22
417 查看
我用的是cocos2d 2.0版的,安装好模板以后新建一个工程cocos2d ios工程。运行发现它已经提供了一个可运行出来的简单程序,在界面上
显示hello world标签,然后有一个menu,两个menu item。工程里有3个类,AppDelegate类,Layer类和IntroLayer类。
AppDelegate类最重要的是包含了一个CCDirectorIOS类对象,在application:didFinishLaunchingWithOptions:方法用调用
CCDirector类的sharedDirector方法产生一个对象,查看sharedDirector方法会发现用这个方法产生的对象是单例的。
然后对这个导演进行设置。导演就是以后我们要用到管理各个scene的对象,它支配着程序应用哪个scene。
对导演设置完以后,调用IntroLayer的scene方法,
进入到IntroLayer类中来对IntroLayer初始化。
IntroLayer就是程序启动后第一个出现
的启动界面。去的scene,初始化layer,把Introlayer加到scene中进行显示。另外再加入到scene中后在CCScene类中调用
【child onEnter】方法,这样Introlayer的onEnter方法被调用从而完成初始化。绘出一个精灵,然后延迟一秒以后把Layer推入
导演管理的栈中,从而显示Layer对象,
我们以后的大多数操作都会在layer类中。
显示hello world标签,然后有一个menu,两个menu item。工程里有3个类,AppDelegate类,Layer类和IntroLayer类。
AppDelegate类最重要的是包含了一个CCDirectorIOS类对象,在application:didFinishLaunchingWithOptions:方法用调用
CCDirector类的sharedDirector方法产生一个对象,查看sharedDirector方法会发现用这个方法产生的对象是单例的。
director_ = (CCDirectorIOS*) [CCDirector sharedDirector];
然后对这个导演进行设置。导演就是以后我们要用到管理各个scene的对象,它支配着程序应用哪个scene。
对导演设置完以后,调用IntroLayer的scene方法,
[director_ pushScene: [IntroLayer scene]];
进入到IntroLayer类中来对IntroLayer初始化。
+(CCScene *) scene { // 'scene' is an autorelease object. CCScene *scene = [CCScene node]; // 'layer' is an autorelease object. IntroLayer *layer = [IntroLayer node]; // add layer as a child to scene [scene addChild: layer]; // return the scene return scene; }
IntroLayer就是程序启动后第一个出现
的启动界面。去的scene,初始化layer,把Introlayer加到scene中进行显示。另外再加入到scene中后在CCScene类中调用
【child onEnter】方法,这样Introlayer的onEnter方法被调用从而完成初始化。绘出一个精灵,然后延迟一秒以后把Layer推入
导演管理的栈中,从而显示Layer对象,
-(void) onEnter { [super onEnter]; // ask director for the window size CGSize size = [[CCDirector sharedDirector] winSize]; CCSprite *background; if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone ) { background = [CCSprite spriteWithFile:@"Default.png"]; background.rotation = 90; } else { background = [CCSprite spriteWithFile:@"Default-Landscape~ipad.png"]; } background.position = ccp(size.width/2, size.height/2); // add the label as a child to this Layer [self addChild: background]; // In one second transition to the new scene [self scheduleOnce:@selector(makeTransition:) delay:1]; }把layer对象推入导演栈中
-(void) makeTransition:(ccTime)dt { [[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[HelloWorldLayer scene] withColor:ccWHITE]]; }
我们以后的大多数操作都会在layer类中。
相关文章推荐
- COCOS2D-X跨ANDROID&IOS平台开发入门教程
- cocos2d-x 入门教程
- ASP.NET Aries 入门开发教程1:框架下载与运行
- cocos2dx游戏开发简单入门视频教程 (cocos2d-x)- 第4天
- Cocos2d入门及第一次运行时遇到的问题
- cocos2d入门教程5:为我们的程序加入菜单
- 【Cocos2d入门教程七】三分钟看懂Cocos2d坐标系
- Heritrix3.0教程 使用入门(一) 下载安装与运行
- (译)cocos2d-x跨android&ios平台开发入门教程
- (译)cocos2d-x跨android&ios平台开发入门教程
- cocos2d-x 的新手教程,两个大神的博客链接,新手入门还是不错的
- cocos2d-x快速入门-沈大海cocos2d-x教程之1
- Caffe 深度学习入门教程 运行caffe自带的两个简单例子
- fedora下编译运行java傻瓜入门级教程
- Cocos2d-x入门教程(四)Action模块
- cocos2d-x跨android&ios平台开发入门教程
- 【Cocos2d入门教程十一】浅析Cocoss2d下的音频引擎及封装音频类
- COCOS2D-X跨ANDROID&IOS平台开发入门教程
- ReactNative入门教程第一步 初始化环境 将HelloWorld运行到手机或者模拟器上
- cocos2d-x新手入门教程