1

XMLを使用して特定のデフォルト変数をFlashゲームに保存しています。メインクラスのこれらの変数にアクセスするのは簡単です。XML変数(この場合はdefaultXML)をインスタンス化してロードしてから、defaultScore = defaultXML.defaults.score.@value;または同様のことを行うことができるからです。ただし、子クラス内からそのデータを取得する場合は、を使用する必要がありますdefaultScore = MovieClip( this.parent ).defaultXML.defaults.score.@value;。私が孫のクラスにいるときは、祖父母から値を取得する方法すら知らないので、さらに混乱します。

ActionscriptでXMLファイルから値を取得するための良い方法は何ですか?私がしていることを続けなければなりませんか、それとももっと簡単な方法がありますか?

4

1 に答える 1

2

parent呼び出しをチェーンして必要なレベルに到達するだけで、祖父母オブジェクトにアクセスできます。

MovieClip( this.parent.parent.parent ).defaultXML.defaults.score.@value;

タイムライン上で手動で作成された既存のムービークリップにコードを追加する場合、これは物事を機能させる簡単な方法ですが、たとえば、ネストされたムービークリップの構造が変更された場合、壊れやすくなります。

もう1つの方法は、xmlをグローバルオブジェクトとして保存して、タイムライン階層のどこからでもアクセスできるようにすることです。

global.defaultScore = defaultXML

これらは、単純なアプリでタイムラインにコードを追加する必要がある場合に適した、すばやく簡単な手法です。より高度なアプリでは、すべてのコードはクラスにのみ存在します。オブジェクト指向の手法は、必要な場所にxmlデータを渡す方法です。

于 2013-01-22T00:39:08.557 に答える