【解決済み】トリアコンタン様のピクチャのボタン化プラグインにおける、コモンイベントの実行について

マカロニ
記事: 9
登録日時: 2019年7月11日(木) 11:28

【解決済み】トリアコンタン様のピクチャのボタン化プラグインにおける、コモンイベントの実行について

投稿記事by マカロニ » 2023年5月06日(土) 23:32

こんにちは。いつもお世話になっております。
マカロニと申します。

トリアコンタン様のピクチャのボタン化プラグイン(https://triacontane.blogspot.com/2015/11/blog-post_23.html)について、わからないことがありましたので質問をさせてください。

本プラグインをお借りして、ゲーム内にボタンを設置しようと思っています。

ボタンには、
・ボタンにカーソルを重ねたとき、ボタンの画像を変化させて音を鳴らす。
・ボタンからカーソルを離したとき、ボタンの画像を元の画像に戻す。
というイベントを実装したいと考えています。

そこで、以下のような設定をしてイベントを走らせてみました。

001.png

002.png

003.png
003.png (34.75 KiB) 閲覧数: 1303 回


ところが、ボタンにカーソルを重ねたとき、なぜかコモンイベント[0001]が連続して2回実行されてしまいます。

イベントが2回実行されるのは最初の1回だけで、それ以降は想定通りに、カーソルを重ねるたびにコモンイベントが1回ずつ実行されるようになります。

最初から1回ずつ実行されるようにするには、どのように設定すればいいのでしょうか?

よろしくお願いいたします。
最後に編集したユーザー マカロニ on 2023年5月12日(金) 06:07 [ 編集 1 回目 ]

ミズナギ
記事: 27
登録日時: 2023年3月11日(土) 18:20

Re: トリアコンタン様のピクチャのボタン化プラグインにおける、コモンイベントの実行について

投稿記事by ミズナギ » 2023年5月10日(水) 21:55

こんばんは。
同じ処理を書いて試してみましたところ、最初から1回だけ実行されるのみで、該当のコモンイベント1が2回実行される現象は確認できませんでした。
おそらく、この処理の範囲外に原因があるかと思われます。

他にも何かプラグインを使っていませんか?
使っている場合は、それらをOFFにしても改善しませんか?

あるいは、
・鳴らす効果音を違うもの(システムで使っていないもの)に変えてみる
・画像をコモンイベント1で呼び出すより前に読み込んでおく(不透明度0で表示)
・効果音をコモンイベント1で呼び出すより前に読み込んでおく(ボリューム0で鳴らす)
などしても、状況は変化しないでしょうか?


ところで、2回実行されている、と判断した理由は何でしょう。
音が2回鳴る=イベントが2回実行されているのでは、という推測なのであれば、もしかしたら、イベントの実行は1回しかされていないが、何かの要因で効果音が2回鳴っている可能性もあります。

コード: 全て選択

◆スクリプト:console.log("カーソルが乗った");

をコモンイベント1の先頭に入れてみると、正しく実行されているかどうかの目安になるかと。
(1回しか出力されなければ1回、2回分出力されたら2回実行されている)

すでにこのような方法での確認が済んでいて、確かに2回の実行がされている、と判断したのであれば、
・プラグインやコア自体が古かったり、手を加えていたりする場合は、最新かつ何も変更されていないものに差し替えてみる
・ご使用のマウスの感度や速度などの設定を変えてみる
・新規プロジェクトを作って、最低限の動作に必要な構成だけでテストプレイしてみる
など、少しずつ原因の絞り込みをしていくと、解決が見えてくるかもしれないです。
マカロニ
記事: 9
登録日時: 2019年7月11日(木) 11:28

Re: トリアコンタン様のピクチャのボタン化プラグインにおける、コモンイベントの実行について

投稿記事by マカロニ » 2023年5月11日(木) 06:37

ご回答いただきありがとうございます。


ご指摘いただきました通り、コモンイベントにconsole.log()のスクリプトを追加してテストプレイをしてみました。

005.png


Developer Toolsを起動してConsoleを確認したところ、イベントは2回連続で実行されていました。
さらに、Networkの通信ログを見てみると、

004.png
004.png (42.56 KiB) 閲覧数: 1171 回


こちらでも、2回連続で実行されていることが確認できます。
※赤枠が1回目にカーソルをボタンに乗せたとき、青枠が2回目以降にカーソルを乗せたときです。

次に、

・鳴らす効果音を違うもの(システムで使っていないもの)に変えてみる
・画像をコモンイベント1で呼び出すより前に読み込んでおく(不透明度0で表示)
・効果音をコモンイベント1で呼び出すより前に読み込んでおく(ボリューム0で鳴らす)
こちらも試してみましたが、状況に変化はありませんでした。


その他の原因に関してですが、
今回の動作確認用で作ったサンプルゲームの内容が、

1.プロジェクトの新規作成。
2.pluginsフォルダに「PictureCallCommon.js」を置く。
3.プラグイン管理で「PictureCallCommon.js」をONの状態にする。
  プラグインのパラメータ
  ・ピクチャ番号の変数番号 1
  ・ポインタX座標の変数番号 2
  ・ポインタX座標の変数番号 3
  ・他は初期値のまま

4.ボタン用の画像2枚をpicturesフォルダに置く。
5.イベントエディタとコモンイベントを以下のように設定する。

007.png


6.テストプレイをする。

と、非常にシンプルなものになっています。
そういったことから、他のプラグインやイベントが原因というのはなさそうです。

ツクールMVの更新はしていますので、バージョンが古いということもありません。
また、マウスの速度を変えてみたり、別のマウスを使ったりもしましたが、変化はありませんでした。

今使用しているPCがwin11ですので、それが原因かもしれないと思って別PCのwin10で動かしてみましたが、これについても変化はありませんでした。


最初はプラグインの使い方が間違っているのかとも思いましたが、どうやらそうでもないみたいで、原因が全くわかりません。
ecf5DTTzl6h6lJj02
記事: 459
登録日時: 2018年12月23日(日) 13:55

Re: トリアコンタン様のピクチャのボタン化プラグインにおける、コモンイベントの実行について

投稿記事by ecf5DTTzl6h6lJj02 » 2023年5月11日(木) 10:07

こんにちは。

こちらでも同様の現象が確認できました。
どうやら、初回のみ、マウスカーソルが重なった時の、ピクチャ変更時に、マウスカーソルが離れたという判定がされてしまい、その後すぐに、マウスカーソルが重なった判定がされるためにこの現象が起こっているようです。

根本的な解決ではありませんが、以下のようにイベントを設定することで、回避できるかと思います。

  1. ピクチャボタンを設定するイベント
    ◆プラグインコマンド:P_Call_CE 1 1 4 ON
    ◆プラグインコマンド:P_Call_CE 2 2 5 ON
    ◆ピクチャの表示:#1, Button_Nomal, 左上 (100,500), (100%,100%), 255, 通常
    ◆ピクチャの表示:#2, Button_Over, 左上 (100,500), (100%,100%), 0, 通常
    ◆セルフスイッチの操作:A = ON

  2. マウスカーソルが重なった時のコモンイベント
    ◆ピクチャの移動:#1, 左上 (100,500), (100%,100%), 0, 通常, 1フレーム
    ◆ピクチャの移動:#2, 左上 (100,500), (100%,100%), 255, 通常, 1フレーム (ウェイト)
    ◆SEの演奏:Cursor1 (90, 100, 0)

  3. マウスカーソルが離れたときのコモンイベント
    ◆ピクチャの移動:#2, 左上 (100,500), (100%,100%), 0, 通常, 1フレーム
    ◆ピクチャの移動:#1, 左上 (100,500), (100%,100%), 255, 通常, 1フレーム (ウェイト)

Button_Normal というのが通常時の画像、 Button_Over というのがマウスカーソルが重なった時の画像です。
あらかじめ、通常時の画像と、カーソルが重なった時の画像を両方とも表示しておき、コモンイベントで透明度を変更するという形をとっています。

本格的な解決をしたい場合は、トリアコンタンさんは マシュマロ にて対応をされているようですので、
そちらで相談してください。
マカロニ
記事: 9
登録日時: 2019年7月11日(木) 11:28

Re: トリアコンタン様のピクチャのボタン化プラグインにおける、コモンイベントの実行について

投稿記事by マカロニ » 2023年5月11日(木) 21:06

こんばんわ。

回避案を教えていただきありがとうございます。
しばらくはecf5DTTzl6h6lJj02さんの方法で、コモンイベントの二回判定を回避したいと思います。
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: トリアコンタン様のピクチャのボタン化プラグインにおける、コモンイベントの実行について

投稿記事by トリアコンタン » 2023年5月12日(金) 01:33

こんにちは!
プラグインのご利用ありがとうございます。

結論から言いますと、本事象は仕様となります。

フォーカスが入って画像を切り替えたときに、対象の画像が「未キャッシュ」の状態ですと、一瞬だけ画像が表示されないタイミングが発生する場合があります。
その際、フォーカスが外れたと判断され、画像表示後に再度フォーカスが入るためご報告の事象が発生するものと思われます。

対処法として、切り替え先のピクチャをあらかじめキャッシュしておくか、切り替え先のピクチャを別のピクチャ番号で切り替え元のピクチャのうえに被せて表示することで、画像が一瞬消えてしまう現象を避けられると思われます。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
マカロニ
記事: 9
登録日時: 2019年7月11日(木) 11:28

Re: トリアコンタン様のピクチャのボタン化プラグインにおける、コモンイベントの実行について

投稿記事by マカロニ » 2023年5月12日(金) 06:06

トリアコンタンさん、こんにちは。
ご回答いただきありがとうございます。

イベント内容を以下のように変更したところ、コモンイベントが2回実行されるということはなくなりました。

001.png

ミズナギさんからご指摘をいただいたときに、同じような方法で確認をしてみたはずなんですが、どうやらそのときの方法に誤りがあったようです。

なにはともあれ、問題なく動くようになりましたので、この件は解決済みとさせていただきます。

ミズナギさん、ecf5DTTzl6h6lJj02さん、トリアコンタンさん、ありがとうございました!

“MV:質問” へ戻る