コモンイベント数の節約について

返信する
ものくろ
記事: 3
登録日時: 2023年3月31日(金) 19:45

コモンイベント数の節約について

投稿記事 by ものくろ »

この度は質問を見て下さり誠にありがとうございます

ツクールのMAP画面にトリアコンタン様のピクチャボタン化プラグインを使用して
20個ほど画像を表示させマウスカーソルを合わせるとピクチャボタンの色が変わる動きをさせるために
ピクチャの色調変更スクリプトを使用して色が変わって戻るようにコモンイベント作りました

1つの画像に使用するコモンイベントの内容が以下になります

番号  内容
0001  スクリプト:$gameScreen.tintPicture(6, [150,50,0,50], 3) 

0002  スクリプト:$gameScreen.tintPicture(6, [0,0,0,0], 3)

0003  プラグインコマンド:P_CALL_CE 6 1 ON

0004  プラグインコマンド:P_CALL_CE 6 2 ON


カーソルを合わせて外すだけでコモンイベントを4つ使ってしまう状況になってしまうので
20個作ると80個使用することになります

実はマウスカーソルをクリックして遊ぶゲームを作ろうと思いまして
複数のMAPにピクチャボタンが多々増えてしまう形になるので
コモンイベントの数がボタンの色が変わる処理だけで結構消費してしまい困っています
コモンイベント数の上限が1000個までなので、できれば上記の動き、もしくは似たような代案で
コモンイベントの数を減らして出来ないものかと悩んでいます

ツクールを使い始めて経験が浅いのでプログラムの処理の考え方が足りてない箇所があるかもしれないので
もし良いアイディアがありましたら助力を頂けると幸いです
ミズナギ
記事: 27
登録日時: 2023年3月11日(土) 18:20

Re: コモンイベント数の節約について

投稿記事 by ミズナギ »

こんばんは。
該当のプラグインはクリックされたりマウスが乗ったり外れたりしたピクチャ番号が変数で取得できるようになっているはずなので、パラメータで指定している変数を利用するのが良いかと。
たとえば「ピクチャ番号の変数番号」に変数1を設定しているなら、以下のようにしてみてください。

コード: 全て選択

◆スクリプト:$gameScreen.tintPicture($gameVariables.value(1), [150,50,0,50], 3);
◆スクリプト:$gameScreen.tintPicture($gameVariables.value(1), [0,0,0,0], 3);
それはそれとして、ピクチャのボタン化は最初に一度設定しておくだけで良い(設定そのものを毎回コモンイベントで呼ぶ必要はない)はずです。
クリックが1で、マウスを重ねたり外したりするのは4と5だったと思うので、ゲームをスタートさせる前などに、

コード: 全て選択

◆注釈:ピクチャ1~20の上にマウスが乗ったらコモンイベント1を呼ぶ
◆プラグインコマンド:P_CALL_CE 1 1 4 ON
◆プラグインコマンド:P_CALL_CE 2 1 4 ON
~省略~
◆プラグインコマンド:P_CALL_CE 19 1 4 ON
◆プラグインコマンド:P_CALL_CE 20 1 4 ON
◆注釈:ピクチャ1~20の上からマウスが外れたらコモンイベント2を呼ぶ
◆プラグインコマンド:P_CALL_CE 1 2 5 ON
◆プラグインコマンド:P_CALL_CE 2 2 5 ON
~省略~
◆プラグインコマンド:P_CALL_CE 19 2 5 ON
◆プラグインコマンド:P_CALL_CE 20 2 5 ON
◆注釈:ピクチャ1~20がクリックされたらコモンイベント3を呼ぶ
◆プラグインコマンド:P_CALL_CE 1 3 1 ON
◆プラグインコマンド:P_CALL_CE 2 3 1 ON
~省略~
◆プラグインコマンド:P_CALL_CE 19 3 1 ON
◆プラグインコマンド:P_CALL_CE 20 3 1 ON
…という感じで20個分まとめて指定しておけば、あとは表示するピクチャを変更しても設定を解除しない限り有効ですから、呼び出しに使うコモンイベントは必要最低限の3つで済むかと思います。
ものくろ
記事: 3
登録日時: 2023年3月31日(金) 19:45

Re: コモンイベント数の節約について

投稿記事 by ものくろ »

ミズナギ 様、この度はお返事下さり誠にありがとうございます

ピクチャ番号を変数で取得できる機能は知らなかったのでとても参考になりました!
スクリプトの例文まで丁寧に表記して下さり例文通りにしてみた所、同じ動きで処理できとても助かりました
自分ではミズナギ様の発想には至れなかったので本当に感謝です!
本当にありがとうございました!!
返信する

“MV:質問”に戻る