[译]Chipmunk教程 - 3 初始化
初始化 Chipmunk
初始化Chipmunk需要三件事情要去做:
- 初始化它
- 使用一个 timer 来让Chipmunk计算模拟器的步骤。
- 创建并且配置Space
初始化Chipmunk是很简单的一部分,你只需要调用cpInitChipmunk 函数就行了,把它放在程序初始化的地方。时间的设置,使用一个简单的NSTimer对象,或者一些你想要使用的游戏引擎。也许你要用的Timer就在引擎自身里面。最后,创建一个新的Space,只需要使用cpSpaceNew方法就行了。
为了完成这三步,只需要再你的controller文件,引入chipmunk.h头文件就好了。
- #import "chipmunk.h"
之后,在文件的开始,定义两个可以存储我们space的变量,以及两个方法,当头文件定义完了以后,将会看到如下的效果:
- #import <UIKit/UIKith.>
- #import "chipmunk.h"
- @interface ChipmunkTutorialViewController : UIViewController {
- UIImageView *floor; // Holds our floor image
- UIImageView *ball; // Holds our ball image
- cpSpace *space; // Holds our Space object
- }
- - (void)setupChipmunk; // Bootstraps chipmunk and the timer
- - (void)tick:(NSTimer *)timer; // Fires at each "frame"
- @end
在实现文件里面,viewDidLoad调用这个方法。:
- [self setupChipmunk];
最后,实现我们声明的两个方法:
- // Bootsraps chipmunk and the timer
- - (void)setupChipmunk {
- // Start chipmunk
- cpInitChipmunk();
- // Create a space object
- space = cpSpaceNew();
- // Define a gravity vector
- space->gravity = cpv(0, -100);
- // Creates a timer firing at a constant interval (desired frame rate)
- // Note that if you are using too much CPU the real frame rate will be lower and
- // the timer might fire before the last frame was complete.
- // There are techniques you can use to avoid this but I won't approach them here.
- [NSTimer scheduledTimerWithTimeInterval:1.0f/60.0f target:self selector:@selector(tick:) userInfo:nil repeats:YES];
- }
- // Called at each "frame" of the simulation
- - (void)tick:(NSTimer *)timer {
- // Tell Chipmunk to take another "step" in the simulation
- cpSpaceStep(space, 1.0f/60.0f);
- }
作者:Alexliu(alex dotNet Learning)
出处:http://alexliu.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,转载请注明。并且保留文章链接。否则保留追究法律责任的权利。