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

パスを使った針

pathを使うのはいいけれど、いちいちパスを設定したオブジェクトを作るのがめんどくさい


解決策あります。
今回はトリガー針を改造して、vspeedやhspeedではなく、pathを使うトリガー針製作をしてみましょう。


オブジェクトの名前を path_free だとします。
オブジェクトの画像は sprite407 だとします。

createイベントに、 

flag = 0
sprite_index = sprSpikeUp

と、入れます。

アラームイベント0に

path_start(path,spd,EA,false);
flag = 1

と入れます。


そして、STEPイベントに

if (vspeed==0 && hspeed=0 && flag = 0) {
if (freetrigger.triggered=trg) { //ポロニウムエンジンを使用している人は if(global.trigger[trg]){ と記入します。
alarm[0] = 1
}
}

といれます。

OtherイベントのOutside Roomイベントに

instance_destroy()

といれます。

使い方


使い方を説明します。

ルームにこの path_free

と、すでに用意されている、freetrigger を適当に置きます。(ゆううつエンジン)

path_freeのcreation codeには


trg = なんちゃら(数字)
path = なんちゃら(パスの名前)
spd = なんちゃら(パスのスピード(数字))
EA = end action(エンドアクション)の番号

と書きます。

freetriggerのほうにはトリガー針と同じように、


trg = なんちゃら(数字)/// path_freeの中に書いたtrgと同じ番号


と書いてください。

こう、記述することで、できました。

今回は、詳しい説明はしてませんが、なんでこう書くことによって、できるのか考えてみてください。



〜エンドアクションについて〜
エンドアクションとは、pathが終了した後の動き、そのままですね。
アクションコマンドを使えばいろいろ書いていますが、
今回はエンドアクションは番号で記入するので、その番号の役割を説明します。

1・・・パス終了時に最初からやり直す(もう一度読みこむ、と考えておk、何度も繰り返す)
2・・・パス終了後に現在の位置からもう一度パスを実行する(その後止まる)
3・・・パス終了後にそのパスを逆再生する(逆再生が終わったら止まる)
4・・・パス終了後に止まる

おそらくpathを使ったトリガーなら、pathでつくった複雑な動きをさせると思うので、
基本エンドアクションはトリガーのときは4を使うと思われます。

Wiki内検索

Menu

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




GMの基本的な使い方

GML概要編

GML編---一般的な計算

GML編---ゲーム動作

GML編---ユーザー入力

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

GML編---サウンド

GML編---etc...

GML編---リファレンス

アイワナ製作編

基本応用編

雰囲気関係編

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

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

メンバー募集!