0

「キャラクター」というクラスがあります。一部のキャラクターはプレイ可能です (playable = true)。すべてのプレイ可能なキャラクターには、「follower」と呼ばれる子ムービークリップがあります (ActionScript で作成されたものではありません)。コードで「follower」にアクセスしようとすると、エラーが発生します。これは、「follower」が「必ずしも」存在しないためです。これは、「フォロワー」を持たないキャラクターが存在するためです。

ただし、続行する前に「if (this.contains(follower)) { .. }」を使用して存在することを確認しましたが、「follower」が存在しない可能性があるというエラーが引き続き表示されます。

エラーが発生するのはなぜですか? それについて何かできることはありますか?代わりに AS3 を使用してフォロワーを作成する必要がありますか?

4

4 に答える 4

0

Characterクラス内:

if(this["follower"]) {
    // follower instance exists
}
于 2013-01-24T18:31:32.477 に答える
0

これにはいくつかの情報がありません。これは AS2/AS3 プロジェクトですか (質問に基づく)。その場合、問題は AS3 が AS2 コンテンツにアクセスできないためです。

「代わりに AS3 を使用してフォロワーを作成する必要がありますか?」- AS3 プロジェクトの場合は、そうしてください。

プロジェクトが両方とも AS2/3 である場合は、LocalConnection を使用して「フォロワー」クリップを制御してみてください。私の仮定が間違っている場合は、訂正してください。

于 2013-01-24T20:46:27.780 に答える
0

followerCharacter クラス (MovieClip 型) でpublic 変数を宣言できます。ノンプレイアブルキャラクターではnullとなり、プレイアブルキャラクターではサブクリップに設定されます。

これは、[ステージ インスタンスを自動的に宣言する] がオフになっている場合にのみ機能します。

于 2013-01-24T18:20:41.890 に答える
0

次のように 'follower' にアクセスできます: this["follower"]- したがって、コンパイル時のエラーは発生しません。

また、存在するplayableかどうかを確認する代わりに、プロパティを確認することもできfollowerます。

于 2013-01-24T17:38:12.030 に答える