1
所以我有這樣的方法:與精靈套件從更新功能動畫調用方法
-(void)levelLabel {
SKLabelNode *levelOne = [SKLabelNode labelNodeWithFontNamed:@"Chalkduster"];
levelOne.fontSize = 25;
levelOne.fontColor = [SKColor whiteColor];
levelOne.text = @"Level 1";
levelOne.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2);
[self addChild:levelOne];
SKAction *stageNumberIn = [SKAction fadeInWithDuration:1.0];
SKAction *stageNumberOut = [SKAction fadeOutWithDuration:1.5];
SKAction *remove = [SKAction removeFromParent];
SKAction *sequence = [SKAction sequence:@[stageNumberIn, stageNumberOut, remove]];
[levelOne runAction:sequence];
}
,我嘗試將它稱之爲的「更新」功能是這樣的:
-(void)update:(CFTimeInterval)currentTime {
[self levelLabel];
}
但將無法工作。該標籤的作品沒有衰減動畫。如果我把SKLabelNode在initWithSize:
-(id)initWithSize:(CGSize)size {
...
}
它可以完美運行。
有人能告訴我我哪裏出錯了嗎?
好吧,我誤解了我猜的update方法的用法。所以我把我的「SKLabelNode」函數放在「initwithSize」的上面,並在那裏調用它: - (id)initWithSize:(CGSize)size { [self levelLabel]; } 謝謝,這對我有用! – zorn0r
不要忘記,更新方法是SK渲染循環的一部分,每秒調用60次(60fps) – giorashc
是的我相信創建靜態「Level 1」標籤的地方最好在節點中創建/場景的init方法並僅在需要時執行淡入淡出操作 – giorashc