cocos2d/box2d技术问题汇总

转载自: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];

FAQ NO.3:

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函数只留给程序员几秒的时间做程序清理操作,如果你在这个函数里保存,假如数据比较多的话,容易造成数据没有保存完的情况。

你可能感兴趣的:(cocos2d)