转载自:http://www.cnblogs.com/andyque/archive/2011/09/02/2163384.html
任何一门技术,在学习的时候都会遇到各种各样的问题,有些很初级,有些比较诡异。而且有一个特点,就是大部分人在学习过程中遇到的问题都差不多。所以,本贴的目的就是建立一个常见问题的汇总贴,把我学习过程中,网友在博客上的提问,还有群里面的问题,以FAQ的形式整理出来,供大家参考。如果大家发现存在什么问题,或者某个问题有更好的解决办法的话,欢迎留言指出。
持续更新中。。。
FAQ NO.1:
Q:新建一个cocos2d项目,如何把横版改成竖版?
A:
在RootViewController.m里面,
在shouldAutorotateToInterfaceOrientation:方法里面,
找到#elif GAME_AUTOROTATION == kGameAutorotationUIViewController这个宏判断
然后把 return (UIInterfaceOrientationIsLandscape(interfaceOrientation));
改成
return (UIInterfaceOrientationIsPortrait(interfaceOrientation));
补充:有网友提出此方法只在4.3的系统生效,如果是3.13的系统,还得在AppDelegate.m里面做如下修改:
#if GAME_AUTOROTATION == kGameAutorotationUIViewController [director setDeviceOrientation:kCCDeviceOrientationPortrait]; #else [director setDeviceOrientation:kCCDeviceOrientationLandscapeLeft]; #endif //这一行是要添加的代码 [director setDeviceOrientation:kCCDeviceOrientationPortrait];
FAQ NO.2:
Q:做塔防游戏的时候,如何暂停刷怪?如何加速出兵,如何减速出兵?
A:
//游戏暂停 [[CCDirector sharedDirector] pause]; //回到游戏 [[CCDirector sharedDirector] resume]; //游戏加快2倍速度 [[CCScheduler sharedScheduler] setTimeScale:2.0f]; //游戏速度减慢50% [[CCScheduler sharedScheduler] setTimeScale:0.5f];
Q:初学iphone游戏开发,推荐书籍?
A:
首先,当然是《Learn iPhone and iPad Cocos2D Game Development》和《Learning Cocos2D》啦,这也是目前市面上介绍cocos2d比较经典和全面的书籍。然后,大家可以学习opengles的知识,同时也是推荐两本书《Learning iOS Game Programming》和《Oreilly.iPhone.3D.Programming.May.2010》
Q:精灵不释放,可以直接换图形吗?
A:
(1)[sprite setDisplayFrame:[CCSpriteFrameCachesharedCache] spriteFrameNamed:"b.png"];
(2) [sprite setTexture:];
(3)[sprite
setTextureRect:];
常用的方法,还有其他方法。个人用plist加载纹理贴图,所以用(1)的时候比较多。
FAQ: NO4.
Q:保存游戏进度时,保存数据在appdelegate里的那个函数里保存?
是applicationwillterminate还是applicationwillresignactive里?
A:Applicationwillresignactive函数中保存,因为applicationWillTerminate函数只留给程序员几秒的时间做程序清理操作,如果你在这个函数里保存,假如数据比较多的话,容易造成数据没有保存完的情况。