有没有办法在objective-c中调用-(void)update:(CCTime)delta
方法?我知道(使用sprite builder)我可以创建一个场景,然后将它附加到一个自定义类,这样当通过CCBReader加载场景时,会自动调用类的更新方法。
我现在通过没有自定义类的代码加载场景,但仍然希望更新方法为" start" (因为没有更好的词。)有没有办法做到这一点?
答案 0 :(得分:1)
例如,通过scheduleUpdate
方法调用onEnter
。
[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.");