0
iOSのネイティブゲーム開発の初心者です。私は文字の理想的な状態のいくつかのフレームを使ってアニメーションを作成しようとしています。私はRay's Websiteからチュートリアルに従っています。私はすべてうまくやっているように見えますが、私はアニメーションを見ることができません。最初のフレーム(デフォルト)のみ常に表示されます。私はコード&をデバッグします。実際には3つのフレームがすべて存在するが、スクリーン上で何も起こらない点滅するプレーヤーメソッドを訪れています。iOS SpriteKitアニメーションが動作しない
誰かが問題を特定するのに役立ちます。
@implementation GameScene
{
NSArray *_playerBlinkFrames;
}
// Player
SKNode *_player;
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
[self createPlayer];
}
return self;
}
- (void) createPlayer
{
SKTextureAtlas *playerAnimatedAtlas = [SKTextureAtlas atlasNamed:@"Assets"];
_player = [SKNode node];
SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"Idle"];
[_player addChild:sprite];
[sprite setName:@"Ball"];
NSMutableArray *blinkFrames = [NSMutableArray array];
SKTexture *temp = [playerAnimatedAtlas textureNamed:@"Idle.png"];
SKTexture *temp2 = [playerAnimatedAtlas textureNamed:@"Blink.png"];
SKTexture *temp3 = [playerAnimatedAtlas textureNamed:@"LookRight.png"];
[blinkFrames addObject:temp];
[blinkFrames addObject:temp2];
[blinkFrames addObject:temp3];
_playerBlinkFrames = blinkFrames;
_player.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
[self addChild:_player];
[self blinkingPlayer];
}
-(void)blinkingPlayer
{
[_player runAction:[SKAction repeatActionForever:
[SKAction animateWithTextures:_playerBlinkFrames
timePerFrame:0.3f
resize:NO
restore:YES]] withKey:@"blinkingInPlacePlayer"];
return;
}
ありがとうございます。
はい、私はあなたのチュートリアルのチューブからそれに続いていました。これはうまくいく。私はintiWithSize関数_player = [self createNewPlayer]でオブジェクトを初期化する方法も変更しました。 [self addChild:_player]; –