21

SKSpriteNode (monsterNode) のサブクラスがあります。ベクトルを使用して画面上を自動的に走り回り、プレーヤーを追跡します。現在、次のアクションを使用して実行しています。

SKAction *actionMove = [SKAction moveTo:actualDistance duration:time];
        [self runAction:actionMove completion:^ {
            _currentState = SVGMonsterStateIdle;
        }];

iOSデバイス画面の境界に当たった場合、monsterNodeが実際にアクションの実行を停止するようにすることが可能かどうか疑問に思っています。現在、画面の端に SKSpriteNode 境界があり、モンスターと壁が接触したかどうかを通知するために接触デリゲートにリンクされています。しかし、モンスターのactionMoveアクションが完了するのを実際に止められなければ意味がありません。モンスターは画面の境界で停止する必要があります。実行中に SKAction を停止できない場合、回避する方法はありますか?

4

1 に答える 1

37

ヘッダー ファイルを見てくださいSKNode.h。2 つの関数がリストされています。

- (void)removeActionForKey:(NSString *)key;
- (void)removeAllActions;

後者は機能します:[monsterNode removeAllActions];

于 2013-09-27T02:14:28.727 に答える