ページ 11

移動ルートの設定の中のスクリプトの書き方

Posted: 2018年9月22日(土) 20:30
by MEIKOI
こんにちは。

×××移動ルートの設定の中のスクリプトの書き方について教えてくださいませ×××

まちがいでした。自立移動→カスタム→スクリプトの書き方でした。

イベントを「一歩前進」で移動させて

突き当りで移動できない場合に

「ランダムで方向転換」や「上を向く」や「右を向く」などの方向転換の動作をさせたいと思います。

このような動きは、自律移動のスクリプトで可能でしょうか?

Re: 移動ルートの設定の中のスクリプトの書き方

Posted: 2018年9月23日(日) 18:10
by トリアコンタン
こんにちは!
移動ルートの設定(自律移動含む)において「進行方向に移動できない場合にランダムで方向転換」するスクリプトです。

コード: 全て選択

!this.canPass(this.x, this.y, this.direction()) ? this.turnRandom() : null;



こちらは、「進行方向に移動できない場合に指定した方向に方向転換」するスクリプトです。

コード: 全て選択

!this.canPass(this.x, this.y, this.direction()) ? this.setDirection(N) : null;

N:方向
2:下
4:左
6:右
8:上

「移動できない場合は飛ばす」のチェックを有効にする必要があります。

Re: 移動ルートの設定の中のスクリプトの書き方

Posted: 2018年9月23日(日) 19:02
by MEIKOI
トリアコンタン様

早速お返事ありがとうございます♪

テンプレートプラグインがとても便利で使わせてもらってます!!

そして教えていただいた書き方で希望の移動ができるようになりました!

スクリプトで動かすと、とても動きがスムーズです(*'▽')カンシャ100倍デス

Re: 移動ルートの設定の中のスクリプトの書き方

Posted: 2018年9月23日(日) 19:28
by MEIKOI
こんにちは。追加で質問させてください。

教えていただいた記述でイベントを動かすと

トリガー「イベントから接触」が反応していないのですが

反応させるには、どのようにしたらよいのでしょうか?

よろしくお願いします。

Re: 移動ルートの設定の中のスクリプトの書き方

Posted: 2018年9月23日(日) 19:51
by MEIKOI
色々と試してみた結果です。

1歩前進→スクリプト記述では、イベントから接触が反応しなかった。

1歩前進→1歩前進→スクリプト記述で、イベントから接触が反応しました。

なんとなく、ぼんやりと口で説明できないですが理由はつかめました^^;

解決になっているような、なっていないような・・・

Re: 移動ルートの設定の中のスクリプトの書き方

Posted: 2018年9月24日(月) 13:35
by トリアコンタン
こんにちは!
「イベントからの接触」はイベントが進行方向に進もうとしたところ、プレイヤーがいて進行できなかった場合に反応してイベントが実行されます。

当該スクリプトは、進行できない場合は先に判定して、進行せずランダム方向転換するのでトリガーが反応しません。

こちらでも確認しましたが、「1歩前進→1歩前進→スクリプト記述」とすることで1回目の「1歩前進」のあとは反応するようになりますが、2回目の1歩前進の後はやはり反応してくれないと思います。
100%絶対に反応してくれないとマズいというのでなければ「1歩前進」の数を十分に増やすことで、発生確率を100%に近似できます。

100%絶対に反応する必要がある場合は、ちょっと複雑な対応が必要になるかもしれません。

Re: 移動ルートの設定の中のスクリプトの書き方

Posted: 2018年9月24日(月) 17:51
by MEIKOI
こんにちは。お返事ありがとうございます。

ご指摘いただいた通り、1歩前進を増やす事でおおむね良い反応が得られるようになりました♪

ゲーム進行に今のところ問題がないようなので、このやり方で進めようかと思います。

ありがとうござます(*'▽')