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

MEIKOI
記事: 73
登録日時: 2018年9月22日(土) 20:13

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

投稿記事by MEIKOI » 2018年9月22日(土) 20:30

こんにちは。

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

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

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

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

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

このような動きは、自律移動のスクリプトで可能でしょうか?
最後に編集したユーザー MEIKOI on 2018年9月23日(日) 19:25 [ 編集 2 回目 ]

アバター
トリアコンタン
記事: 1834
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

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

投稿記事by トリアコンタン » 2018年9月23日(日) 18:10

こんにちは!
移動ルートの設定(自律移動含む)において「進行方向に移動できない場合にランダムで方向転換」するスクリプトです。

コード: 全て選択

!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:上

「移動できない場合は飛ばす」のチェックを有効にする必要があります。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
MEIKOI
記事: 73
登録日時: 2018年9月22日(土) 20:13

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

投稿記事by MEIKOI » 2018年9月23日(日) 19:02

トリアコンタン様

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

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

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

スクリプトで動かすと、とても動きがスムーズです(*'▽')カンシャ100倍デス
MEIKOI
記事: 73
登録日時: 2018年9月22日(土) 20:13

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

投稿記事by MEIKOI » 2018年9月23日(日) 19:28

こんにちは。追加で質問させてください。

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

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

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

よろしくお願いします。
MEIKOI
記事: 73
登録日時: 2018年9月22日(土) 20:13

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

投稿記事by MEIKOI » 2018年9月23日(日) 19:51

色々と試してみた結果です。

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

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

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

解決になっているような、なっていないような・・・
アバター
トリアコンタン
記事: 1834
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

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

投稿記事by トリアコンタン » 2018年9月24日(月) 13:35

こんにちは!
「イベントからの接触」はイベントが進行方向に進もうとしたところ、プレイヤーがいて進行できなかった場合に反応してイベントが実行されます。

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

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

100%絶対に反応する必要がある場合は、ちょっと複雑な対応が必要になるかもしれません。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
MEIKOI
記事: 73
登録日時: 2018年9月22日(土) 20:13

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

投稿記事by MEIKOI » 2018年9月24日(月) 17:51

こんにちは。お返事ありがとうございます。

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

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

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

“MV:質問” へ戻る