アイワナ製作・Gamemakerを解説するwikiです。

ステージのギミックを作ってみよう

ただ針やブロックを置くだけのアイワナでは面白く無いでしょう、
そこでステージにギミックを作ってプレイヤーが楽しくプレイできるようにしてみましょう

今回作るギミックは
「背中を向けると追いかけてくるリンゴ」

「上から踏むと倒せて下から当たるとダメージを食らう大砲」
です、
※某N社のアクションゲームとは一切関係ありません、

早速作ってみよう

まず新しいオブジェクトを作成します、
スプライトは白いリンゴにします、意味は無いですよ?
続いて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)の中に書くことを忘れないように気をつけましょう、

今回はかなり簡略化していますが、これを作りこむと砲台から出したり、
踏んだ後に下に落ちるようにしたり、二段ジャンプが復活するように出来たりします、
ギミックに完成はありません、
自分が納得行くまで作りこめばきっといいアイワナが作れるでしょう。

Wiki内検索

Menu

アイワナ製作@基本・応用wiki




GMの基本的な使い方

GML概要編

GML編---一般的な計算

GML編---ゲーム動作

GML編---ユーザー入力

GML編---グラフィックス

GML編---サウンド

GML編---etc...

GML編---リファレンス

アイワナ製作編

基本応用編

雰囲気関係編

※背景に色がついているものは工事中のページです。
【メニュー編集】

メンバーのみ編集できます

メンバー募集!