【GMS2】プログラミング言語なしでゲームを作る(Part 5)

GameMakerStudio2

プレイヤーを左右に動かす

プレイヤーを左右に動かす(その3)

① oBat上で Add Event > Key Down > Left 選択しイベントを作ります。

Key Down:ボタンを押している間イベントが発生します。今回の場合、左矢印ボタンを押している間。

② 検索ボックスで movement と入力し、Jump to Point をドラッグ。

③ x = -7(x軸上で左に移動させる), Relative にチェック

④ 同様に右方向(Right) のイベントを作ります。

x = 7, Relative にチェック


他に変数を使ったやり方があります。変数を使った方が後で変更したいときに便利なのでこっちの方法をこのゲームでは使用します。

変数を作る

① oBat > Add Event > Create を選択しイベントを作ります。

② 検索ボックスで Assign Varibale を検索し、ドラッグ。

③ Name = spd(変数の名前をつける), Value = 7

④ Jump to Point の Left, Right の 7 を spd に代える。

プレイヤーを左右に移動させる(その2)

Run すると横の壁をスレ抜けるので「if文」で調整します。if文を使って条件を指定し、条件を満たす場合のみプログラムが実行されるようにします。

今回の場合、オブジェクトが壁に到達したら、それ以上進めない条件をつけます。

プレイヤーを左右に動かす(その3)

まずは左にすり抜けない条件を設定。

① oBat > Key Down > Left > if Variable を検索し、ドラッグ。

object の左端が(Variable)、壁(Value)より、右側(is)である場合のみ実行する条件を作ります。

※ Variable = x – sprite_xoffset 

Value = 0 (roomのx軸の左端は 0)

is = Greater(より大きい)

※ oBrickのx軸の原点が中心にあるので Variable に x だけ入力すると、オブジェクトが半分すり抜けてしまうので、sprite_xoffset(オブジェクトの原点から端の距離)を使って調整します。

右にも同じ条件をつけます。

oBat > Key Down > RIght > if Variable

Variable = x + sprite_xoffset

Value = room_width

is = Less

プレイヤーを左右に移動させる(その4)

これでプレイヤー(oBat)が左右の壁をすり抜けずに移動できるようになりました。

コメント

タイトルとURLをコピーしました