ゲームが主にタイル ベースである場合、つまり、世界に基本単位と同じサイズのブロックがある場合、世界を配列に格納するのが最も実用的です。ブロックを手動で配置する代わりに、次のような配列に特定のブロック タイプに対応するキーを格納できます。
"grass" "grass" "grass" "water" "water"
"grass" "water" "water" "water" "water"
"grass" "grass" "woods" "woods" "woods"
"grass" "grass" "woods" "woods" "woods"
"grass" "grass" "woods" "woods" "woods"
"grass" "grass" "grass" "woods" "woods"
上記の例で、プレーヤーは一度に 9 つのブロックしか見ることができないと想像してください。
"grass" "woods" "woods"
"grass" "woods" "woods"
"grass" "woods" "woods"
これは、ワールド配列の位置 2,2 のプレイヤーです。
プレーヤーが移動するたびに、配列に対するその位置がそれぞれインクリメントまたはデクリメントされます。したがって、上に移動すると、位置の値が 2,1 に減少し、さらに北にあるブロックが読み込まれます。
配列から、すぐ上のブロックが であることを取得し、"water" "water" "water"
3 つのムービークリップをロードしますwater
。念のため、この回答はムービークリップを動的にロードする方法を示しています。
また、プレーヤーに対してワールド全体を移動するのではなく、ワールドに対してプレーヤーを移動する簡単な方法は、値_root._x
とを変更することです_root._y
。
最後に、ゲームがグラフィックスを多用しすぎる場合、プレーヤーの位置が固定されておらず、50 ブロックごとに新しいブロックの画面に移動する「ルームベース」のシステムで世界を横断することを検討しましたか? それは簡単に負担を軽減します。
AS3 の性質は、多くのオブジェクトを動的にロードするのにより適しているかもしれませんが、AS2 は、すぐに起動して実行したい単純なゲームを操作するのに最適です。