隊列メンバーを集合するときにフォロワーが主人公に向かって歩きますがこれを
アニメーションなしで一瞬で行いたいです。
瞬時にフォロワーを主人公の位置にもっていくことは可能でしょうか?
尚、合わせて移動ルートでのやり方も教えてもらえると嬉しいです
【解決】隊列メンバーの集合のアニメの無効化
【解決】隊列メンバーの集合のアニメの無効化
最後に編集したユーザー ヒグラシ [ 2020年5月06日(水) 20:46 ], 累計 1 回
Re: 隊列メンバーの集合のアニメの無効化
ヒグラシ さんが書きました:隊列メンバーを集合するときにフォロワーが主人公に向かって歩きますがこれを
アニメーションなしで一瞬で行いたいです。
瞬時にフォロワーを主人公の位置にもっていくことは可能でしょうか?
尚、合わせて移動ルートでのやり方も教えてもらえると嬉しいです
コード: 全て選択
◆変数の操作:#0001 X = プレイヤーのマップX
◆変数の操作:#0002 Y = プレイヤーのマップY
◆変数の操作:#0003 Map = マップID
◆場所移動:{Map} ({X},{Y}) (フェード: なし)
引用元this.setupChild($dataCommonEvents[コモンイベントID].list, 対象イベントID)
サンプルコード(コモンイベントIDが3のコモンイベントを呼び出す,対象イベント指定なし)
this.setupChild($dataCommonEvents[3].list, 0)
http://rpgmaker-script-wiki.xyz/common_mv.php
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
- Plasma Dark
- 記事: 736
- 登録日時: 2020年2月08日(土) 02:29
- 連絡する:
Re: 隊列メンバーの集合のアニメの無効化
単にフォロワーを非表示にするだけであれば、隊列歩行をOFFにするだけです。瞬時にフォロワーを主人公の位置にもっていくことは可能でしょうか?
が、プレイヤーに重なって表示させたいという場合はスクリプトを書いて対応するしかありません。
移動ルートの設定はフォロワーを制御するための方法をスクリプト以外に提供していません。尚、合わせて移動ルートでのやり方も教えてもらえると嬉しいです
わざわざ移動ルートの設定でフォロワーを動かしたいのはなぜでしょうか。
ムノクラさんの仰るように場所移動コマンドはフォロワーをプレイヤーと同じ座標に移動する効果があるので、それを使うのが一番楽だとは思います。
(移動ルートにこだわらなければ、スクリプトを書く必要すらありません)
Re: 隊列メンバーの集合のアニメの無効化
ムノクラ様
Plasma Dark様
ご回答ありがとうございます。
実は以下のようなVX AceのスクリプトにあるのがMVでもないかなーなどと
思ってたんですがなかったので質問しました。
http://heptanas.mamagoto.com/Entry/138/
とりあえずムノクラ様の手法でやってみましたが
いい感じな動作にはなりましたがいくつか理想の動作にならない点が
あったのでお手数おかけして申し訳ないですが教えていただけないでしょうか?
プラグインはトリアコンタン様のDTextPicture及びNpcFollowerを入れています。
やりたいことというのはイベントを引っ張るという動作です。
具体的にはイベントAをキーボードのAボタンを押している間、
隊列歩行でついてくるようにしたいです。
入力判定スクリプトには'connect'が指定されていますが
これはInput.keyMapper[65] = 'connect';でAボタンに関連付けています。
このイベントAのページ1にはプライオリティは「通常キャラと同じ」で
トリガーに「並列処理」を指定しています。実行内容は以下のとおりです。
※キャラ画像はアクター2のものに設定してます。
このイベントAのページ2にはプライオリティは「通常キャラと同じ」で
トリガーに「並列処理」を指定しています。実行内容は以下のとおりです。
※条件にはセルフスイッチAを指定しています。
コモンイベントの隊列集合には以下の実行内容を設定しています。
これはムノクラ様の仰られたとおりです。
この状態で実行するとAボタンを押しながらイベントに触れた時
プレイヤーがイベントを通り越してしまいます。
それとAボタンを離したときにイベントが一瞬前を向くので
このチラツキ動作も気になります。
上記2点の問題点を解決する方法はあるでしょうか?
組み方を直したほうがいいとかあれば教えてもらえると助かります。
質問内容からすこしずれてきてますがもしよければ回答もらえませんか?
※すみません。ページ1、2ともオプションにすり抜け設定してます(漏れてました)
Plasma Dark様
ご回答ありがとうございます。
実は以下のようなVX AceのスクリプトにあるのがMVでもないかなーなどと
思ってたんですがなかったので質問しました。
http://heptanas.mamagoto.com/Entry/138/
とりあえずムノクラ様の手法でやってみましたが
いい感じな動作にはなりましたがいくつか理想の動作にならない点が
あったのでお手数おかけして申し訳ないですが教えていただけないでしょうか?
プラグインはトリアコンタン様のDTextPicture及びNpcFollowerを入れています。
やりたいことというのはイベントを引っ張るという動作です。
具体的にはイベントAをキーボードのAボタンを押している間、
隊列歩行でついてくるようにしたいです。
入力判定スクリプトには'connect'が指定されていますが
これはInput.keyMapper[65] = 'connect';でAボタンに関連付けています。
このイベントAのページ1にはプライオリティは「通常キャラと同じ」で
トリガーに「並列処理」を指定しています。実行内容は以下のとおりです。
※キャラ画像はアクター2のものに設定してます。
コード: 全て選択
◆変数の操作:#0016 プレイヤー位置X = プレイヤーのマップX
◆変数の操作:#0017 プレイヤー位置Y = プレイヤーのマップY
◆変数の操作:#0019 connectイベント位置X = このイベントのマップX
◆変数の操作:#0020 connectイベント位置Y = このイベントのマップY
◆条件分岐:プレイヤー位置X ≠ connectイベント位置X
◆ピクチャの消去:#11
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:プレイヤー位置Y ≠ connectイベント位置Y
◆ピクチャの消去:#11
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:スクリプト:Input.isPressed('connect')
◆プラグインコマンド:NF_NPC追加 2 1
◆コモンイベント:隊列集合
◆隊列歩行の変更:ON
◆セルフスイッチの操作:A = ON
◆
:分岐終了
◆プラグインコマンド:D_TEXT \I[82]【Button A Push】引っ張る 32
◆ピクチャの表示:#11, なし, 左上 (0,0), (100%,100%), 255, 通常
トリガーに「並列処理」を指定しています。実行内容は以下のとおりです。
※条件にはセルフスイッチAを指定しています。
コード: 全て選択
◆変数の操作:#0016 プレイヤー位置X = プレイヤーのマップX
◆変数の操作:#0017 プレイヤー位置Y = プレイヤーのマップY
◆変数の操作:#0019 connectイベント位置X = $gamePlayer.followers()._data[0].x
◆変数の操作:#0020 connectイベント位置Y = $gamePlayer.followers()._data[0].y
◆条件分岐:スクリプト:!Input.isPressed('connect')
◆変数の操作:#0019 connectイベント位置X = プレイヤーのマップX
◆変数の操作:#0020 connectイベント位置Y = プレイヤーのマップY
◆セルフスイッチの操作:A = OFF
◆条件分岐:プレイヤーが下を向いている
◆移動ルートの設定:このイベント
: :◇下を向く
◆変数の操作:#0020 connectイベント位置Y -= 1
◆
:分岐終了
◆条件分岐:プレイヤーが左を向いている
◆移動ルートの設定:このイベント
: :◇左を向く
◆変数の操作:#0019 connectイベント位置X += 1
◆
:分岐終了
◆条件分岐:プレイヤーが右を向いている
◆移動ルートの設定:このイベント
: :◇右を向く
◆変数の操作:#0019 connectイベント位置X -= 1
◆
:分岐終了
◆条件分岐:プレイヤーが上を向いている
◆移動ルートの設定:このイベント
: :◇上を向く
◆変数の操作:#0020 connectイベント位置Y += 1
◆
:分岐終了
◆イベントの位置設定:このイベント, ({connectイベント位置X},{connectイベント位置Y})
◆プラグインコマンド:NF_NPC削除 1
◆隊列歩行の変更:OFF
◆
:分岐終了
これはムノクラ様の仰られたとおりです。
コード: 全て選択
◆変数の操作:#0016 プレイヤー位置X = プレイヤーのマップX
◆変数の操作:#0017 プレイヤー位置Y = プレイヤーのマップY
◆変数の操作:#0015 プレイヤーMAPID = マップID
◆場所移動:{プレイヤーMAPID} ({プレイヤー位置X},{プレイヤー位置Y}) (フェード: なし)
プレイヤーがイベントを通り越してしまいます。
それとAボタンを離したときにイベントが一瞬前を向くので
このチラツキ動作も気になります。
上記2点の問題点を解決する方法はあるでしょうか?
組み方を直したほうがいいとかあれば教えてもらえると助かります。
質問内容からすこしずれてきてますがもしよければ回答もらえませんか?
※すみません。ページ1、2ともオプションにすり抜け設定してます(漏れてました)
- Plasma Dark
- 記事: 736
- 登録日時: 2020年2月08日(土) 02:29
- 連絡する:
Re: 隊列メンバーの集合のアニメの無効化
isPressedの条件を先に持ってきたほうが確実なんじゃないかと思います。この状態で実行するとAボタンを押しながらイベントに触れた時
プレイヤーがイベントを通り越してしまいます。
前を向かせるようなイベントの書き方をしているように見えるのですが、イベントの位置を指定した後に向きを変えるだけではお望みの挙動にならないということでしょうか。それとAボタンを離したときにイベントが一瞬前を向くので
このチラツキ動作も気になります。
Re: 隊列メンバーの集合のアニメの無効化
Plasma Dark様
isPressedの条件が先というのは以下のような感じでしょうか?
こうするとイベント処理が中断されないため、プレイヤーがイベントに
重ならなくてもフォロワーとしてついてくるようになってしまいます。
<追記>因みにすばやく方向キーを押して離した場合はプレイヤーがイベントを
追い越さずイベント上に重なるようです。
あともう一点のほうですが
私の説明が悪かったとしかいいようがなくすみません。
前を向くというのは方向キーを入力したほうの前ではなく
プレイヤー画像そのものが前向きという意味です。
つまり前というのはプレイヤーが下を向いているものを前と言ってしまいました。
よってボタンを離した直後にプレイヤー画像が下向きに一時的に変わってしまうということです。
語弊があり混乱させてしまいすみませんでした。
<追記>
イベントの位置を指定した後に向きを変えるとどうもボタンを離すことで
ページ1に変わってから一瞬プレイヤーが下向きになるのは
ページ1のデフォルトの向き設定に戻るからようです。
試しに他の向き(左向き)に設定して試したら一瞬左向きになりました。
つまりはページ2の実行内容にいるときページ1の向きをかえることが
できないのが問題な気がします。
ページ1にいってから向きを変えてたようでは間に合わないのですかね
isPressedの条件が先というのは以下のような感じでしょうか?
こうするとイベント処理が中断されないため、プレイヤーがイベントに
重ならなくてもフォロワーとしてついてくるようになってしまいます。
<追記>因みにすばやく方向キーを押して離した場合はプレイヤーがイベントを
追い越さずイベント上に重なるようです。
コード: 全て選択
◆変数の操作:#0016 プレイヤー位置X = プレイヤーのマップX
◆変数の操作:#0017 プレイヤー位置Y = プレイヤーのマップY
◆変数の操作:#0019 connectイベント位置X = このイベントのマップX
◆変数の操作:#0020 connectイベント位置Y = このイベントのマップY
◆条件分岐:スクリプト:Input.isPressed('connect')
◆プラグインコマンド:NF_NPC追加 2 1
◆コモンイベント:隊列集合
◆隊列歩行の変更:ON
◆セルフスイッチの操作:A = ON
◆
:分岐終了
◆条件分岐:プレイヤー位置X ≠ connectイベント位置X
◆ピクチャの消去:#11
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:プレイヤー位置Y ≠ connectイベント位置Y
◆ピクチャの消去:#11
◆イベント処理の中断
◆
:分岐終了
◆プラグインコマンド:D_TEXT \I[82]【Button A Push】引っ張る 32
◆ピクチャの表示:#11, なし, 左上 (0,300), (100%,100%), 255, 通常
私の説明が悪かったとしかいいようがなくすみません。
前を向くというのは方向キーを入力したほうの前ではなく
プレイヤー画像そのものが前向きという意味です。
つまり前というのはプレイヤーが下を向いているものを前と言ってしまいました。
よってボタンを離した直後にプレイヤー画像が下向きに一時的に変わってしまうということです。
語弊があり混乱させてしまいすみませんでした。
<追記>
イベントの位置を指定した後に向きを変えるとどうもボタンを離すことで
ページ1に変わってから一瞬プレイヤーが下向きになるのは
ページ1のデフォルトの向き設定に戻るからようです。
試しに他の向き(左向き)に設定して試したら一瞬左向きになりました。
つまりはページ2の実行内容にいるときページ1の向きをかえることが
できないのが問題な気がします。
ページ1にいってから向きを変えてたようでは間に合わないのですかね
- Plasma Dark
- 記事: 736
- 登録日時: 2020年2月08日(土) 02:29
- 連絡する:
Re: 隊列メンバーの集合のアニメの無効化
isPressed が真の時にももちろん、座標のチェックを行わないとお望みの挙動にならないとは思います。isPressedの条件が先というのは以下のような感じでしょうか?
◆プラグインコマンド:NF_NPC追加 2 1 の直前に座標比較の条件分岐を入れる、という意味です。
そして、isPressed が真の場合にスクリプトで
コード: 全て選択
console.log(`プレイヤー: ${$gameVariables.value(16)}, ${$gameVariables.value(17)}`);
console.log(`イベント: ${$gameVariables.value(19)}, ${$gameVariables.value(20)}`);
F12キーでdeveloper consoleを開き、consoleタブを見ながら、Aキーを押して近づいて、すり抜ける場合に何が起きているのかご確認ください。
念の為、このイベント以外で変数16, 17, 19, 20を書き換えていたりしませんよね。
なるほど、これは確かにそうですね。イベントの位置を指定した後に向きを変えるとどうもボタンを離すことで
ページ1に変わってから一瞬プレイヤーが下向きになるのは
ページ1のデフォルトの向き設定に戻るからようです。
どうしても気になるようであれば、セルフスイッチによる切り替えではなく変数による切り替えにして、各向きの離した後の状態を別ページに作ってしまうのが良いんじゃないでしょうか。
Re: 隊列メンバーの集合のアニメの無効化
Plasma Dark様
結局このイベントを越える件は仕様とすることにしました。
自分ではやはりよくわかりませんでした…
ありがとうございました。
一応これでこの件は解決ということにさせていただきます。
引き続きありがとうございました。
この件については書き換えてはいないはずです。念の為、このイベント以外で変数16, 17, 19, 20を書き換えていたりしませんよね。
結局このイベントを越える件は仕様とすることにしました。
自分ではやはりよくわかりませんでした…
向きごとにページを分けたらチラつかなくなりました。どうしても気になるようであれば、セルフスイッチによる切り替えではなく変数による切り替えにして、各向きの離した後の状態を別ページに作ってしまうのが良いんじゃないでしょうか。
ありがとうございました。
一応これでこの件は解決ということにさせていただきます。
引き続きありがとうございました。