1

私はActionscript3でプラットフォーマーゲームの基盤を構築しようとしています。私はまだAS3の初心者ですが、これが私の知識の構築に役立つことを願っています。

ともかく、

Sprite / Movieclipクラスを拡張することで、SpriteやMovieClipなどに関連付けられたActionscriptファイルを作成できることを理解しています。'Documentクラス'として機能するActionscriptファイルについても知っています。

私のゲームの各レベルには、重力などのさまざまなプロパティがあります。これらの変数はどこに保存すればよいですか?明らかにプレーヤーにはありません...彼らがタイムラインまたはドキュメントクラスに入ることになっているのか、それとも独自のASファイルを持っているのかはわかりません。グローバル変数を持つことは一般的に悪いと言われているので、どうしたらよいかわかりません。

4

2 に答える 2

2

レベルは基本的に異なる開始値を持つデータ構造であるため、ActionscriptではなくXMLまたはJSONである個別のファイルとしてレベルを作成できます。また、そのようなファイルを取得して解析し、読み取った内容に基づいてゲーム内のレベル構造を初期化できるLevelクラスを作成できます。はい、そのようなデータはタイムラインに移動しないでください。そのデータの1つを変更する必要がある場合、他のゲームプロセスに暗黙的に影響を与える可能性があるためです。また、1回の簡単な右クリックでそのようなゲームが台無しになる可能性があります:)私自身がレベルデータホルダーとしてJSONファイルを使用し、初期化時にそれらを解析します。このようにするか、レベルが読み込まれるときに言うことができます。

つまり、初期データが異なるがメソッドでは一般的である場合は、メインコードまたはコード全体とは別に存在し、データとして含める必要があります。

于 2012-10-01T15:40:10.590 に答える
1

この同様の質問と回答が多少役立つと思います。

As3 OOP ゲーム構造 (クラス アーキテクチャ)

基本的に、「やりたいことは、ゲーム内の変更をゲーム自体から分離することです」。そのため、タイムラインにコードを含めないでください。

于 2012-10-01T13:22:45.207 に答える