如何在Objective-C中调用 - (void)更新:(CCTime)delta方法

时间:2015-07-14 14:50:24

标签: ios objective-c cocos2d-iphone spritebuilder

有没有办法在objective-c中调用-(void)update:(CCTime)delta方法?我知道(使用sprite builder)我可以创建一个场景,然后将它附加到一个自定义类,这样当通过CCBReader加载场景时,会自动调用类的更新方法。

我现在通过没有自定义类的代码加载场景,但仍然希望更新方法为" start" (因为没有更好的词。)有没有办法做到这一点?

1 个答案:

答案 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.");