编辑: 向日葵8AS 2016-08-20

//窗口启动完成 ????? virtual void applicationDidEnterBackground();

//窗口进入后台 ????? virtual void applicationWillEnterForeground();

//窗口恢复?};

#endif // _APP_DELEGATE_H_ 在这几个方法中,就可以做我们要做的事情了. applicationDidFinishLaunching启动完成 ???? 加载游戏,播放音乐 applicationDidEnterBackground进入背景 ?? 音乐暂停,游戏暂停 applicationWillEnterForeground恢复窗口 ?音乐继续,游戏继续 可能,你会想,如果应用退出,我想保留游戏数据如何? 试者找找ccApplication中还有哪些方法. bool AppDelegate::applicationDidFinishLaunching(CCDirector *pDirector = CCDirector::sharedDirector();

//初始化导演,他是引擎的老大 ??? pDirector->

setOpenGLView(CCEGLView::sharedOpenGLView());

//绑定opengles窗口,可见,我们可以自定义openGLView?????TargetPlatform target = getTargetPlatform();

?? //获取当前平台,这个功能不错?????? if (target == kTargetIpad)CCFileUtils::sharedFileUtils()->

setResourceDirectory( iphonehd );

//不同平台可以指定不同资源目录?CCEGLView::sharedOpenGLView()->

setDesignResolutionSize(960, 640, kResolutionNoBorder)else if (target == kTargetIphone)if (true == CCDirector::sharedDirector()->

enableRetinaDisplay(true)) //大图资源适配?CCFileUtils::sharedFileUtils()->

setResourceDirectory( iphonehd else CCFileUtils::sharedFileUtils()->

setResourceDirectory( iphone else android, windows, blackberry, linux or mac?CCFileUtils::sharedFileUtils()->

setResourceDirectory( iphonehd CCEGLView::sharedOpenGLView()->

setDesignResolutionSize(960, 640, kResolutionNoBorder);

???? } ??? pDirector->

setDisplayStats(true);

//是否显示FPS?( 每秒绘制多少帧,最高60) ??? // set FPS. the default value is 1.0/60 if you don'

t call this???? pDirector->

setAnimationInterval(1.0 / 60);

? //设置FPS 在cocos2d-x 启动后内部封装了FPS的逻辑,虽然helloWorld图片没变化,但其实一直在重绘. ??? //?创建一个场景???? CCScene *pScene = HelloWorld::scene();

??? //?显示这个场景到窗口,必然所有的绘制在场景中定义的???? pDirector->

runWithScene(pScene);

??? return true;

?} #ifndef __HELLOWORLD_SCENE_H__?#define __HELLOWORLD_SCENE_H__ #include cocos2d.h class HelloWorld : public cocos2d::CCLayer?{?public:???? virtual bool init();

? ??? static cocos2d::CCScene* scene();

???? void menuCloseCallback(CCObject* pSender);

??? void ccTouchesBegan(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent);

??? ?CREATE_FUNC(HelloWorld);

?};

#endif // __HELLOWORLD_SCENE_H__ HelloWorld实际上是一个图层CCLayer,不过CCScene和CCLayer都继承CCNode,所以所有显示在窗口的东西都是CCNode,CCNode通过二阶段构造来初始,所以都有init方法,我们只要记住,在这里完成初始定义图层的资源. bool HelloWorld::init(if ( !CCLayer::init(return false;

CCSize visibleSize = CCDirector::sharedDirector()->

getVisibleSize();

//获取窗口大小???? CCPoint origin = CCDirector::sharedDirector()->

getVisibleOrigin(获取窗口方向 添加一个图片菜单层(所有Node都可以addChild)???? CCMenuItemImage *pCloseItem = CCMenuItemImage::create(CloseNormal.png , //缺省状态?CloseSelected.png ,//选中状态?this,//当前层?menu_selector(HelloWorld::menuCloseCallback));

//消息回掉方法定义???? pCloseItem->

setPosition(ccp(origin.x + visibleSize.width - pCloseItem->

getContentSize().width/2 origin.y + pCloseItem->

getContentSize().height/2));

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题
大家都在看的话题