4.游戏退出
在win32调试的时候没注意到这个问题,但是当移植到安卓的时候才发现,按Back键竟然木有用,而Home键只能切换到主屏,也不能退出游戏。
还记得CCLayer从哪里继承来的么?我们再看一遍:
1 | CCLayer : public CCNode, public CCTouchDelegate, public CCAccelerometerDelegate, public CCKeypadDelegate
|
最后的CCKeypadDelegate就是解决这个问题的方法。
在各个主场景的主层中重载
1 2 | virtual void keyBackClicked(); //对应back键
virtual void keyMenuClicked(); //对应home键
|
在init中调用
1 | this ->setKeypadEnabled( true );
|
keyBackClicked()的实现
1 2 3 4 | void GameOverLayer::keyBackClicked()
{
CCDirector::sharedDirector()->end(); //结束游戏
}
|
|