ボタンを押すと座標Aと座標Bにあるイベントの位置が入れ替わる、という挙動が組めずにいます。
指定位置の取得で、座標Aと座標BのイベントIDを取得したまでは良かったのですが、
その2つのイベントを「移動ルートの設定」で移動させて入れ替える、という動きができません。
スクリプトを使うような気はしていますが…
もしわかる方いましたら教えて頂けると嬉しいです。
【解決済】2つの座標のイベントを入れ替える方法
【解決済】2つの座標のイベントを入れ替える方法
最後に編集したユーザー kagami [ 2021年4月24日(土) 00:52 ], 累計 1 回
Re: 2つの座標のイベントを入れ替える方法
ご質問の内容は、
AとBの座標は取得できているが、移動がうまくいかないということでよいでしょうか。
それでしたら、イベントの位置設定を使えばできるかと思います。
もしくは、AとBのイベントページをスイッチで切り替えて、
グラフィックとイベント内容だけが入れ替わるという擬似的な方法もあります。
AとBの座標は取得できているが、移動がうまくいかないということでよいでしょうか。
それでしたら、イベントの位置設定を使えばできるかと思います。
もしくは、AとBのイベントページをスイッチで切り替えて、
グラフィックとイベント内容だけが入れ替わるという擬似的な方法もあります。
Re: 2つの座標のイベントを入れ替える方法
>sally様
ご返答ありがとうございます。
イベントの位置設定だと、座標上のイベントIDが使えずできませんでした。
すみません、説明不足でした。
実はAとBのほかにもイベントがあって、それらが頻繁に入れ替わるイメージです。
下記の図で説明すると、〇がボタンでこれを押すとその両側の●Aと●B(もしくは●Bと●C)の位置にあるイベントが入れ替わる、という事がやりたいのです。
なので座標上のイベントIDを都度チェックして入れ替えたいと思っています。
A B C
● ● ●
〇 〇
少々わかりにくくて申し訳ないです。
ご返答ありがとうございます。
イベントの位置設定だと、座標上のイベントIDが使えずできませんでした。
すみません、説明不足でした。
実はAとBのほかにもイベントがあって、それらが頻繁に入れ替わるイメージです。
下記の図で説明すると、〇がボタンでこれを押すとその両側の●Aと●B(もしくは●Bと●C)の位置にあるイベントが入れ替わる、という事がやりたいのです。
なので座標上のイベントIDを都度チェックして入れ替えたいと思っています。
A B C
● ● ●
〇 〇
少々わかりにくくて申し訳ないです。
Re: 2つの座標のイベントを入れ替える方法
まだ不明点が多い(イベントが入れ替わるの詳細が不明)ので、想像でサンプルを作りました。kagami さんが書きました:>sally様
ご返答ありがとうございます。
イベントの位置設定だと、座標上のイベントIDが使えずできませんでした。
すみません、説明不足でした。
実はAとBのほかにもイベントがあって、それらが頻繁に入れ替わるイメージです。
下記の図で説明すると、〇がボタンでこれを押すとその両側の●Aと●B(もしくは●Bと●C)の位置にあるイベントが入れ替わる、という事がやりたいのです。
なので座標上のイベントIDを都度チェックして入れ替えたいと思っています。
A B C
● ● ●
〇 〇
少々わかりにくくて申し訳ないです。
sally氏の言う「グラフィックとイベント内容だけが入れ替わるという擬似的な方法」です。 新規プロジェクトを作成して、解凍したファイルをdataフォルダに入れて、中を見てください。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
Re: 2つの座標のイベントを入れ替える方法
なるほど。
イベントではなく、指定した座標が軸なのですね。
イベントの数やIDが固定されていないとのことですので、
確かに仰るとおり
指定座標上のイベントIDを取得し、
変数に代入し、
位置を交換する
という手順が必要かと思います。
スクリプトのイベントの位置指定にて、
キャラクター(イベントID )を変数に出来れば可能そうですが、いま検証ができないので確かなことが言い切れないです。
お役にたてず申し訳ありません…。
他の方のご回答にお任せします…。
イベントではなく、指定した座標が軸なのですね。
イベントの数やIDが固定されていないとのことですので、
確かに仰るとおり
指定座標上のイベントIDを取得し、
変数に代入し、
位置を交換する
という手順が必要かと思います。
スクリプトのイベントの位置指定にて、
キャラクター(イベントID )を変数に出来れば可能そうですが、いま検証ができないので確かなことが言い切れないです。
お役にたてず申し訳ありません…。
他の方のご回答にお任せします…。
Re: 2つの座標のイベントを入れ替える方法
イベントの位置設定で動的に対象イベントを指定出来ない事だけがネックになっているのなら
多分聞きたいのはこういう事だと思いますね
多分聞きたいのはこういう事だと思いますね
コード: 全て選択
// 指定座標のイベント配列を取得
const a = $gameMap.eventsXy(X座標, Y座標);
const b = $gameMap.eventsXy(X座標, Y座標);
// aとbが空で無ければ配列先頭イベントの位置情報を交換
if ( a.length && b.length ) a[0].swap(b[0]);
Re: 2つの座標のイベントを入れ替える方法
>ムノクラ様
サンプルまで作ってくださりありがとうございます。
今回実装したいものとは少々異なっていたのですが、ボタンが1つだけの場合のイベントでこちらの方法が活かせそうです。
参考にさせて頂きたいと思います。
>sally様
いえいえ、アイディアを頂けてありがたかったです。
>名無し蛙様
こちらのスクリプトでやりたいことが実装できました!
解決できてとても嬉しいです。ありがとうございます。
皆様、ご協力ありがとうございました。
サンプルまで作ってくださりありがとうございます。
今回実装したいものとは少々異なっていたのですが、ボタンが1つだけの場合のイベントでこちらの方法が活かせそうです。
参考にさせて頂きたいと思います。
>sally様
いえいえ、アイディアを頂けてありがたかったです。
>名無し蛙様
こちらのスクリプトでやりたいことが実装できました!
解決できてとても嬉しいです。ありがとうございます。
皆様、ご協力ありがとうございました。