最終更新: tikura_ackey 2012年11月21日(水) 01:38:04履歴
ただ針やブロックを置くだけのアイワナでは面白く無いでしょう、
そこでステージにギミックを作ってプレイヤーが楽しくプレイできるようにしてみましょう
今回作るギミックは
「背中を向けると追いかけてくるリンゴ」
と
「上から踏むと倒せて下から当たるとダメージを食らう大砲」
です、
※某N社のアクションゲームとは一切関係ありません、
そこでステージにギミックを作ってプレイヤーが楽しくプレイできるようにしてみましょう
今回作るギミックは
「背中を向けると追いかけてくるリンゴ」
と
「上から踏むと倒せて下から当たるとダメージを食らう大砲」
です、
※某N社のアクションゲームとは一切関係ありません、
まず新しいオブジェクトを作成します、
スプライトは白いリンゴにします、意味は無いですよ?
続いてparentをplayerkillerにします、
Createイベントにimage_speed=0;と書いて
名前はtuibi_ringoとしましょう
次に背中を向けているかの判定を作ってみましょう。
判定は、
「プレイヤーが右を向いていて、リンゴがプレイヤーより左にいる場合」
と
「プレイヤーが左を向いていて、リンゴがプレイヤーより右にいる場合」
です、
今回はテンプレートに頼らず自分で書いてみましょう、
ヒント:ifについて
後はステートメントの中に、
move_towards_point(player.x,player.y,2);
と書いて、
else文で
speed=0;
と書くだけです
これでテr追尾リンゴが出来ました
スプライトは白いリンゴにします、意味は無いですよ?
続いてparentをplayerkillerにします、
Createイベントにimage_speed=0;と書いて
名前はtuibi_ringoとしましょう
次に背中を向けているかの判定を作ってみましょう。
判定は、
「プレイヤーが右を向いていて、リンゴがプレイヤーより左にいる場合」
と
「プレイヤーが左を向いていて、リンゴがプレイヤーより右にいる場合」
です、
今回はテンプレートに頼らず自分で書いてみましょう、
ヒント:ifについて
後はステートメントの中に、
move_towards_point(player.x,player.y,2);
と書いて、
else文で
speed=0;
と書くだけです
これでテr追尾リンゴが出来ました
次は大砲を作ります
ここで注意すべきは、parentをplayerkillerにしないことです、
今回作る大砲は、
上から踏むと倒せて、下から当たるとダメージを食らう、
という2つのパターンがあります、
じゃあどうやってダメージを与えるのか?
実はplayerkillerは、killPlayer();という関数が使われているだけなんです、
この関数をif文で使うか使わないかを設定するだけなんです
画像を用意しました、origin_xを16に設定します
早速コードを書きましょう
Createイベント
if(player.x>x){
hspeed=3;
}
else{
hspeed=-3
image_xscale=-1
}
playercollisionイベント
if(player.y<y){
player.vspeed=-8;
instance_destroy();
}
else{
with(player){
killPlayer()
}
}
このように、条件付きでkillPlayer()を実行すると色んなギミックが作れます、
ただし、with(player)の中に書くことを忘れないように気をつけましょう、
今回はかなり簡略化していますが、これを作りこむと砲台から出したり、
踏んだ後に下に落ちるようにしたり、二段ジャンプが復活するように出来たりします、
ギミックに完成はありません、
自分が納得行くまで作りこめばきっといいアイワナが作れるでしょう。
ここで注意すべきは、parentをplayerkillerにしないことです、
今回作る大砲は、
上から踏むと倒せて、下から当たるとダメージを食らう、
という2つのパターンがあります、
じゃあどうやってダメージを与えるのか?
実はplayerkillerは、killPlayer();という関数が使われているだけなんです、
この関数をif文で使うか使わないかを設定するだけなんです
画像を用意しました、origin_xを16に設定します
早速コードを書きましょう
Createイベント
if(player.x>x){
hspeed=3;
}
else{
hspeed=-3
image_xscale=-1
}
playercollisionイベント
if(player.y<y){
player.vspeed=-8;
instance_destroy();
}
else{
with(player){
killPlayer()
}
}
このように、条件付きでkillPlayer()を実行すると色んなギミックが作れます、
ただし、with(player)の中に書くことを忘れないように気をつけましょう、
今回はかなり簡略化していますが、これを作りこむと砲台から出したり、
踏んだ後に下に落ちるようにしたり、二段ジャンプが復活するように出来たりします、
ギミックに完成はありません、
自分が納得行くまで作りこめばきっといいアイワナが作れるでしょう。
最新コメント