cocos2dx android切换后台,cocos2dx 自学记录(5)-- 界面的切换

1.继续补全上次的start按钮,要求按下后进入到游戏画面。

在写之前,看到AppDelegate.cpp里面是这样载入最原始的界面的CCDirector* pDirector = CCDirector::sharedDirector();

CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();

pDirector->setOpenGLView(pEGLView);

// turn on display FPS

pDirector->setDisplayStats(false);

// set FPS. the default value is 1.0/60 if you don't call this

pDirector->setAnimationInterval(1.0 / 60);

// create a scene. it's an autorelease object

CCScene *pScene = HelloWorld::scene();

// run

pDirector->runWithScene(pScene);

那么切换也要用到这个 CCDirector。可以看下面的转换场景方法

2.新建一个界面,可以复制原来的,然后加以改写,这样就可以有两个界面了,然后在第一个界面那个按钮实现场景转换。void HelloWorld::menuCallBackStart(CCObject* pSender)

{

CCDirector* pDirector = CCDirector::sharedDirector();

CCScene *GameScene = Game::scene();

CCTransitionScene *s = CCTransitionCrossFade::create(2,GameScene);

pDirector->replaceScene(s);

}

3.然后发现这样就算你第二个场景没写错也会不过编译,因为Eclipse找不到你的CPP,你要在 jni/Android.mk里面增加你的写的CPP才可以,同时你看看就会发现为什么你能找到那.h而找不到cpp。

4.补充上一次,横屏竖屏显示的修改在AndroidManifest.xml里面android:screenOrientation="portrait"

原来是横屏,改成上面就是竖屏

5.场景转换效果图:

f51a73de2163800c99754137195ef886.png

6.额外提醒:各种指针一定要确保它的合法性,不然程序直接崩溃

7.场景转换之后是我自己实现的一个2048,还用了 CCUserDefault 来存储游戏进度

清除存储数据应该是用static void purgeSharedUserDefault ()

这个感觉在之后的关卡型游戏升级很有用,可以继续用之前的存档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值