2017-08-11 5 views
1

は、私はいくつかのパーツ(腕、手、武器)を持つプレーヤーを持っているし、選手の変更はモード(実行している、立って、狙っ)を移動するたびに、これらの部品のすべてのアクションが削除され、新しいものが実行されています。プレイヤーが発射されたときにSpriteKitのforkey以外のすべてのアクションを削除するには?

は今、私は、武器のノード上で「撮影」のアクションを実行して、プレイヤーが発射を停止したとき、私はweapon.removeAction(forKey: "shooting")

を実行する問題がある。この「撮影」アクションが明らかに削除されますプレイヤーが移動モードを変更したとき(武器のアクションがすべて削除されたとき)

(forKey: "shooting")以外のすべてのアクションを削除する方法はありますか?

は、私は他のすべてのアクションにキー「移動」を与えてみましたが、すぐに複数のアクションは、(それがそのキーで前のアクションを上書きし、その前のアクションが実行されることはありません)同じキーを持つことができないことに気づきました。

明白な解決策は別のノードでweaponから「撮影」アクションを実行することですが、それほどエレガントではありません。

答えて

1

個人的に、私はあなたのスプライトに銃ノードを追加し、あなたが

は、すべてのあなたの行動の上に列挙するための方法はありませんすべてのアクションを削除することができるように、そのノード上のシューティングアクションをかけることになり、次の方法で削除することができますキーを押すか、すべて削除します。

あなたの行動を抽出した場合は、その後、戻ってそれを、それを追加し、すべてを削除し、それはあなたがまたたくない、あなたの行動を再起動します。

関連する問題