1

現在、プレイヤーが一度に 1 マスずつ移動できる 10x10 グリッドのマスがあります。彼らが正方形に飛びついたとき、ジャンプ先の正方形とジャンプ元の正方形の sprite_index に基づいてアニメーションを再生する必要があります。「ジャンプ先」を整理しました。プレイヤーと正方形の間の衝突イベント (ここでは正方形):

with(other){
if sprite_index = sGreenH {
instance_create(x,y,oGreenPlayerAni)

(また、上記を行うためのより良い方法はありますか?そこにあるものの上に生成する代わりに、削除/置換してから何かを配置できますか?)

だから今、キャラクターが去っている広場からアニメーションを再生しようとしています。プレイヤーの衝突と正方形でそれを行うことができます:

xx = xprevious and yy = yprevious 
instance_create(xx,yy, someanimation)

問題は、再生するアニメーションをカスタマイズできないことです。4 つの差分色の正方形に使用できるアニメーションの色は 4 つあります。だから私は、プレイヤーが次のような変数を作成して、私の広場で衝突イベントを試しました

if sprite_index = sGreen {
global.previousColor = 1

私の色ごとに。そして、プレーヤーの正方形との衝突イベントで再び私は持っています

if global.previousColor = 1 {
instance_create(xx,yy, oGreenHollowAni)

そして、移動するとエラーが発生します。

コード スクエアがプレイヤーと衝突する (プレイヤーがスクエアにいる) : http://puu.sh/n9zCY/2f226b6d3c.png

コードプレーヤーが正方形に衝突: http://puu.sh/n9zK6/deac1a09f5.png

エラー: http://puu.sh/n9zPj/ea84a9a943.png

4

1 に答える 1

0

あなたの質問を正しく理解しているかどうかわかりません。私が見る限り、プレーヤーが動いているときは常に新しいインスタンスを作成しますか?

もしそうなら、それは良くありません。10x10 の正方形のグリッドを作成するとき、どの色の正方形が表示されるかに関する情報を配置する配列を作成すると思います。array[x][y] = color.green ... 次に、緑 = 1、青 = 2 を定義する列挙型を作成できます ... この配列はグローバル配列になります。プレーヤー クラスから、現在どのマスにいるかを確認し、移動する場合はどのマスになるかを確認します。これらの情報を使用して、アニメーションを定義できます。

これがあなたの意図したものかどうか教えてください。

エリック

于 2016-02-28T09:47:38.247 に答える