【发布时间】:2016-02-09 18:10:42
【问题描述】:
我正在使用 Sprite 套件制作游戏,基本上是在“英雄”死亡时,然后开始动画(在名为“AnimBack”的代码中),然后跳转到游戏结束场景,但现在当“英雄”死亡时它马上跳转到游戏结束场景。这是我现在所拥有的:
-(void)AnimBack{
Animation =[SKSpriteNode spriteNodeWithImageNamed:@"die0"];
Animation.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2);
SKTextureAtlas *atlas =[SKTextureAtlas atlasNamed:@"die"];
SKTexture *die0 = [atlas textureNamed:@"die0"];
SKTexture *die1 = [atlas textureNamed:@"die1"];
SKTexture *die2 = [atlas textureNamed:@"die2"];
SKTexture *die3 = [atlas textureNamed:@"die3"];
NSArray *backatlas = @[die0, die1, die2, die3];
SKAction *backatlasanimation = [SKAction animateWithTextures:backatlas timePerFrame:0.1];
SKAction *wait = [SKAction waitForDuration:0.1];
SKAction *backaction = [SKAction sequence:@[wait, backatlasanimation]];
[Animation runAction:backaction];
[self addChild:Animation];
}
- (void)didBeginContact:(SKPhysicsContact*)contact {
//-----------------------------------//
if ((firstBody.categoryBitMask == ballCategory && secondBody.categoryBitMask == bottomCategory) || (firstBody.categoryBitMask == secballCategory && secondBody.categoryBitMask == bottomCategory)) {
[self AnimBack];
GameOver* gameOver = [[GameOver alloc] initWithSize:self.frame.size playerLose:YES];
SKTransition *transition = [SKTransition pushWithDirection:SKTransitionDirectionUp duration:1.0f];
[self.view presentScene:gameOver transition:transition];
}
我做错了什么,我需要改变什么,所以它按照我一开始解释的方式运行
【问题讨论】:
-
顺便说一句:方法名称应始终以小写字母开头。
-
@bbum,我改变了它,但它没有任何区别
-
它不应该有所作为;只是让你的代码更接近 Objective-C 标准模式。
标签: ios objective-c animation sprite-kit skscene