スプライト キットのゲーム開発は初めてです。私は現在、最初のゲームを開発しています。これは、プレイヤーが障害物を越えて単純なオブジェクトをナビゲートする必要がある単純なゲームです。オブジェクトが障害物に衝突すると - GAME OVER。
正常に動作するようになりましたが、アニメーションの問題で 1 週間以上立ち往生しています。私は文字通り何日も答えを探してきました...成功しませんでした。つまり、基本的に...オブジェクトが障害物を通り過ぎてナビゲートされているとき、1つのアニメーションパターンがあります(これは正常に機能します)。ただし、障害物に当たったら、アニメーション パターンを (爆発に) 変更したいと考えています。そして、何らかの理由でそれは起こっていません!:( 基本的に、追加した 2 行のコード ([self stopBeeAnimation]; と [self DefeatedAnimation];) を完全に無視しており、ゲームはすぐに終了します。
私がこれについて得るかもしれないどんな助けも本当に感謝しています(これは私を夢中にさせています):)
どうもありがとう。
ここに私のコード:
-(void)didBeginContact:(SKPhysicsContact *)contact {
SKSpriteNode *firstSprite;
SKSpriteNode *secondSprite;
firstSprite = (SKSpriteNode *)contact.bodyA.node;
secondSprite = (SKSpriteNode *)contact.bodyB.node;
if ((contact.bodyA.categoryBitMask == beeCategory) && (contact.bodyB.categoryBitMask = obstacleCategory)) {
[self stopBeeAnimation];
[self defeatedAnimation];
[obstacleArray removeAllObjects];
[bee.physicsBody setAffectedByGravity:NO];
[timer invalidate];
scoreLabel.fontSize = 30;
scoreLabel.text = [NSString stringWithFormat:@"GAME OVER %d", score/2];
[self removeFromParent];
SKTransition *transition = [SKTransition fadeWithDuration:5];
[self.scene.view presentScene:[[NPMyScene alloc]initWithSize:self.size] transition:transition];
}}
と:
-(void) defeatedAnimation {
SKAction *defeatedAnimation;
NSMutableArray *textures2 =[NSMutableArray arrayWithCapacity:5];
for (int a = 1; a < 6; a++) {
NSString *textureName2 = [NSString stringWithFormat:@"defeated%d", a];
SKTexture *texture2 = [SKTexture textureWithImageNamed:textureName2];
[textures2 addObject:texture2];
}
defeatedAnimation = [SKAction animateWithTextures:textures2 timePerFrame:0.2];
}