パスはゲーム作りでとっても便利なものです。
パス(path)を作ったのはいいがパスを扱うために必要な関数は何か?を説明したいと思います。
パスの作りかたは、pathの使い方のほうに書いてあります。
パスは複雑な動きを簡単に作れちゃうのでとっても便利です。くねくねした動きなどはパスを使うとよいでしょう。
そして、パスを使うための変数を使えばとっても表現豊かになります。
path_start(path,speed,endaction,absolute) この関数はパスを扱うにあたってとっても重要な関数になります。
pathの中には作ったパスの名前を入れます。
speedはパスのスピードを入れます。マイナスの値を入れると逆走します。
endactioの中にはパスが終点に到達したときの動作を指定します。
その中にはこの中の数字を入れます。(0〜3)
0 : パスを停止させる。
1 : 始点に戻り再びパスを追従します。(もし閉じられていないパスであれば、始点位置へ移動します)
2 : 現在の位置から再びパスを追従します。
3 : パスを逆走します。つまり、速度の符号を反転させます。
absoluteの中には真/偽を指定します(true/false)真(true)にした場合は、パスを作った時に指定した座標からスタートします。
偽にした場合作ったインスタンスの現在の座標からスタートします。
例 : path_start(path01,5,0,false) // パスの名前はここではpath01とします。パスのspeedは5、終点についたら停止、現在のスンスタンスの座標からスタートという意味になります。
path_end() インスタンスにパスの追従を停止させます。かっこの中には何も書きません。
例:
Createイベントに入れます。↓
alarm[0] = 100 // 100step後にアラーム0を発動
path_start(path1,5,1,true) // path1をspeed5、終点についたら始点へ移動。
alarmイベントに入れます。↓(ここではalarm[0])
path_end() // パスを停止させます。
こうすれば途中で止めたりなどの設定ができます。
path_index ※読み込み専用の変数です。インスタンスが追従しているパスインデックスを示します。
例 :
path_x = choose(path01,path02) // path01もしくはpath02
path_start(path_x,5,1,true) // path_xをspeed5、終点についたら始点へ移動。
if( path_index == path01 ){ // pathがpath01の場合
alarm[0] = 100 // 100step後にalarm[0]を発動
}
else{ // それ以外の場合は
alarm[1] = 200 // 200step後にalarm[1]を発動
}
path_position 現在追従しているパスの位置を示します。0 は始点を示し、1 はパスの終点を示します。0〜1を指定してください。
例 : Createイベントに入れます↓
path_x = path_start(path1,5,1,true) // path_xという変数に置き換えます。 path1をspeed5、終点についたら始点へ移動。
Creation Codeに入れます↓(ルームにあるオブジェクトをctrl + 右クリックで押しその出てきたやつの一番下にあります。)
path_position = 0.5 // 位置をパスの0.5の位置にする。
こうすることによってパスの始める位置やパスの位置途中で変えたりと自由に変更できます。
path_speed パスを追従させる速度(ステップごとに進むピクセル数)を示します。マイナスの値を指定すると、逆走します。
例 : path_speed = 7 // パスのspeedを7にする
path_scale パスのスケールを変えます(拡大値)数値を大きくすることによってパス全体が拡大します。1が初期値です。
例 : path_scale = 3 // パスの大きさを3倍にします。
path_endaction パス追従が終了した時の動作を示します。一番上に書いてある0〜3の数値を使用することが出来ます。
例 : path_endaction = 0 // パス終了時停止する。
最新コメント