如何在 Objective-C 中调用 -(void)update:(CCTime)delta 方法
How to call the -(void)update:(CCTime)delta method in Objective-C
有没有办法调用objective-c中的-(void)update:(CCTime)delta
方法?我知道(使用 sprite 生成器)我可以创建一个场景,然后将其附加到自定义 class,这样当通过 CCBReader 加载场景时,class 的更新方法会自动叫。
我现在通过没有自定义 class 的代码加载场景,但仍然希望 "start" 的更新方法(因为没有更好的词。)有没有办法做到这一点?
例如从 onEnter
方法调用 scheduleUpdate
。
[self scheduleUpdate];
但是,如果您使用的是 cocos2d-objc 或 cocos2d-spritebuilder 3.0 或更高版本,update:
方法会自动安排。
https://github.com/cocos2d/cocos2d-objc/blob/v3.0/cocos2d/CCNode.m#L1190
-(CCTimer *) schedule:(SEL)selector interval:(CCTime)interval repeat: (NSUInteger) repeat delay:(CCTime) delay
{
NSAssert(selector != nil, @"Selector must be non-nil");
NSAssert(selector != @selector(update:) && selector != @selector(fixedUpdate:), @"The update: and fixedUpdate: methods are scheduled automatically.");
有没有办法调用objective-c中的-(void)update:(CCTime)delta
方法?我知道(使用 sprite 生成器)我可以创建一个场景,然后将其附加到自定义 class,这样当通过 CCBReader 加载场景时,class 的更新方法会自动叫。
我现在通过没有自定义 class 的代码加载场景,但仍然希望 "start" 的更新方法(因为没有更好的词。)有没有办法做到这一点?
例如从 onEnter
方法调用 scheduleUpdate
。
[self scheduleUpdate];
但是,如果您使用的是 cocos2d-objc 或 cocos2d-spritebuilder 3.0 或更高版本,update:
方法会自动安排。
https://github.com/cocos2d/cocos2d-objc/blob/v3.0/cocos2d/CCNode.m#L1190
-(CCTimer *) schedule:(SEL)selector interval:(CCTime)interval repeat: (NSUInteger) repeat delay:(CCTime) delay
{
NSAssert(selector != nil, @"Selector must be non-nil");
NSAssert(selector != @selector(update:) && selector != @selector(fixedUpdate:), @"The update: and fixedUpdate: methods are scheduled automatically.");