官方iPhone SDK里, 在利用NSTimer建立的gameloop上,如果timer的更新速率调的太高,会检测不到touch事件,下面是waza发现的解决方法,另外还有dr_watson的设定官方iPhone SDK全屏的方法,希望对大家有用。

如需在游戏中检测touch事件,在Timer的执行函数最后加上这段代码就可以了。

 

[[NSRunLoop currentRunLoop] runUntilDate: [NSDate distantPast]];

 

这样游戏就可以获得较高的帧速而不会影响获取触摸事件了。

 

接下来是全屏的设置,我们知道在非官方SDK里可以通过UIHardware设置全屏幕显示,而官方SDK中并没有这个API,以下是dr_watson的发现:

 

需要在info.plist中手工加入一个boolean值:UIStatusBarHidden并设定为true。

如果你希望和更多开发者一起讨论iPhone的游戏和应用程序开发,可以访问这里和大家讨论。