私は一般的なオブジェクトにアクションを加えたくない 私は8つのインスタンス(例えば、0,1,2,3,4,5,6,7)を持っています 私はアクションを2,5にする必要があります例えば、 どうすればいいですか?オブジェクトの特定のインスタンスに対してアクションを実行するにはどうすればよいですか?
答えて
これは、私がソフトウェア工学のバックグラウンドから来たコンストラクト2について本当に混乱させるものです。
効果を出すスプライトのインスタンスを選択すると、データベースをフィルタリングするような処理が行われます。リスト内のすべてのインスタンスから始め、条件を使用してそれらをフィルタリングします。可能な場合、コンストラクト2は自動的にあなたが望むインスタンスを推測します。 (EnemySpawnでEnemyを生成したばかりの場合、次のEnemyは作成された最後のEnemyだけです)。
これは魔法のように、ほとんどの時間の作品が、あなたはこれらの条件のいくつかをオブジェクトの集合を選択することができます。
が 変数インスタンスの比較は、オブジェクトのインスタンス変数の1の現在の値を比較してください。
ブール型インスタンス変数を設定する オブジェクトのブール型インスタンス変数のいずれかがtrueに設定されているかどうかをテストします。
一意のID(UID)で選択 特定の一意のID(UID)番号と一致するインスタンスを選択します。
私の経験では、インスタンス変数を追加し、スプライトのサブセットまたはスプライトの状態を追跡するように設定するのが、特定のスプライトグループにアクションを限定する最もクリーンな方法です。
はScirraマニュアルからもObject Expressions参照してください:あなたは別のオブジェクトインスタンスからの表現を取得するための0ベースのオブジェクトのインデックスを追加することができます
。たとえば、Sprite(0).Xは最初のSpriteインスタンスのX位置を取得し、Sprite(1).Xは2番目のインスタンスのX位置を取得します。詳細については、共通機能のインデックスID(IID)を参照してください。索引に別の式を渡すこともできます。負の数は反対側から始まるので、Sprite(-1).Xは最後のスプライトのX位置を取得します。
これらは「特定の」オブジェクトIDではありません(コンストラクト2はインデックスIDまたはIIDと呼ばれます)が、作成された順序でそのタイプのすべてのオブジェクトを参照します。
ので:
Enemy(0)
は最初
Enemy(-1)
が
Enemy(5)
最新である(下記参照)破壊されたスプライトを無視して、作成された第六敵です。
IID 3のオブジェクトを破棄すると、それ以降のオブジェクトはすべてリスト内で移動し、そのIIDは1ずつ減少することに注意してください。(LinkedListのデータ構造と同様に)
インスタンスDを破棄した場合、他の人がうまくいけば、これらの方法の一つは、あなたが必要なものを得るのを助けることができます
Instance |A|B|C|D|E|F| --> |A|B|C|E|F|
IID |0|1|2|3|4|5| --> |0|1|2|3|4|
をシフト!
- 1. 特定のキーボードショートカットに対してemacsコマンドを実行するにはどうすればよいですか?
- 2. アンドロイドの特定の番号ダイヤルでアクションを実行するにはどうすればよいですか?
- 3. Mercurialで特定のコミットに対してのみプルリクエストを行うにはどうすればよいですか?
- 4. 単一のjQueryオブジェクトに対して関数を実行するにはどうすればよいですか?
- 5. しばらくして特定の関数を実行するにはどうすればよいですか?
- 6. 特定のインデックスを持つNSTableViewの行オブジェクトを特定するにはどうすればよいですか?
- 7. 実行時に特定のオブジェクトに対して正確な強い参照を表示するにはどうすればよいですか?
- 8. 特定のタイプのすべてのインスタンスに対して、独自のカスタムプロパティエディタを実装するにはどうすればよいですか?
- 9. 特定の実行プロセスに対してループチェックvbsを実行するにはどうすればよいですか?またはプロセスがありませんか?
- 10. 特定のctypeに対してfocusAreaを設定するにはどうすればよいですか?
- 11. 特定のSQLクエリに対してタイムアウトを設定するにはどうすればよいですか?
- 12. 特定の形状の複数のインスタンスを特定するにはどうすればよいですか
- 13. 特定の文字に基づいてワードラップを実行するにはどうすればよいですか?
- 14. 設定した期間にアクションを実行するにはどうすればよいですか?
- 15. Qtを使用して実行ファイルのディレクトリを特定するにはどうすればよいですか?
- 16. Mavenを使用して、特定のテストを実行するにはどうすればよいですか?
- 17. 特定のSecurityManagerを使用してAkka Futureを実行するにはどうすればよいですか?
- 18. 似たようなルートで特定のコントローラ/アクションにリダイレクトするにはどうすればよいですか?
- 19. Djangoのデータ移行に対してテストを実行するにはどうすればよいですか?
- 20. 特定のファイルに対してソナールールを無効にするにはどうすればよいですか?
- 21. 特定のキーに対してハッシュのハッシュを検索するにはどうすればよいですか?
- 22. GAE cronジョブを特定のアプリケーションバージョンとして実行するにはどうすればよいですか?
- 23. プロセスを実行中に特定のSQL行をロックするにはどうすればよいですか?
- 24. vb6コードで実行時にocxのインスタンスをインスタンス化するにはどうすればよいですか?
- 25. Javaスレッドが実行されているコアを特定するにはどうすればよいですか?
- 26. スレッドが実行されているCPUを特定するにはどうすればよいですか?
- 27. アクティブ行のセルに対してExcelマクロを実行させるにはどうすればよいですか?
- 28. 特定のユーザタイプに対してCakePHPアプリケーションをテストするにはどうすればよいですか?
- 29. 特定のテキストに対してマークダウンパーサーをエスケープするにはどうすればよいですか?
- 30. 特定のテーブル変数に対してdistinctを使用するにはどうすればよいですか?