初始化Chipmunk需要三件事情要去做:
- 初始化它
- 使用一个 timer 来让Chipmunk计算模拟器的步骤。
- 创建并且配置Space
初始化Chipmunk是很简单的一部分,你只需要调用cpInitChipmunk 函数就行了,把它放在程序初始化的地方。时间的设置,使用一个简单的NSTimer对象,或者一些你想要使用的游戏引擎。也许你要用的Timer就在引擎自身里面。最后,创建一个新的Space,只需要使用cpSpaceNew方法就行了。
为了完成这三步,只需要再你的controller文件,引入chipmunk.h头文件就好了。
#import "chipmunk.h"
#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
[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);
}