こんにちは。
現在、RPGツクールMZにて、登場人物のセリフ速度の雰囲気作りのため、メッセージの表示速度をデフォルトの「1フレームごとに1文字」から、「4フレームごとに1文字」というように、若干遅めに指定して作っています。
しかし、これではユーザーがセーブ・ロードを行った場合など、同じセリフを見る時に冗長な仕様になると危惧しました。
そこで、「メッセージが流れている時、ユーザーがクリックや、決定ボタンを押した際、まだ表示されていない残りのメッセージを一瞬で表示させる」様な方法を探したのですが、良い案が見つからず、ここで質問させて頂きました。
もし、これを見た方で、解決方法や良いプラグインを知っている方がいらっしゃれば、教えていただければ幸いです。
ゲーム作りの初心者であるため、もし自分が他に記載しなければならない情報など表記し忘れていたならば、それも教えてくだされば嬉しいです。
よろしくお願いしますm(_ _)m
ユーザーのクリックで、メッセージを一瞬で表示させる方法
Re: ユーザーのクリックで、メッセージを一瞬で表示させる方法
hillzenn さんが書きました:現在、RPGツクールMZにて、登場人物のセリフ速度の雰囲気作りのため、メッセージの表示速度をデフォルトの「1フレームごとに1文字」から、「4フレームごとに1文字」というように、若干遅めに指定して作っています。
メッセージ速度を指定する方法なんてありましたっけ?
作りを見る限り適当なウェイト変数を作って文字表示時に遅延を掛けるプラグインでも書くしかないのでは。
コード: 全て選択
/*:
* @target MZ
*/
(() => {
'use strict'
const _Window_Message_initMembers = Window_Message.prototype.initMembers;
Window_Message.prototype.initMembers = function() {
_Window_Message_initMembers.apply(this, arguments);
this._drawWaitCount = 0;
};
const _Window_Message_processCharacter = Window_Message.prototype.processCharacter;
Window_Message.prototype.processCharacter = function(textState) {
if (this._showFast || this._lineShowFast) this._drawWaitCount = 0;
if (0 < this._drawWaitCount) {
this._drawWaitCount--;
} else {
_Window_Message_processCharacter.apply(this, arguments);
this._drawWaitCount = 3;
}
};
})();
Re: ユーザーのクリックで、メッセージを一瞬で表示させる方法
もし、これを見た方で、解決方法や良いプラグインを知っている方がいらっしゃれば、教えていただければ幸いです。
トリアコンタン様が作成された「MesseageSpeedCustomize」というプラグインで実現可能です。
▼トリアコンタン様のブログ「Delusional Field」
https://triacontane.blogspot.com/
上記ブログのトップの記事にスプレッドシートのリンクがありますのでそこからDLできます。
「プラグイン一覧(MZ)」のタブの中です。
自分でも試してみたところ、正常に動作しました。
元々は文章の表示速度を操作するプラグインのようですが、決定ボタンで瞬間表示する機能も備わっています。
ゲーム作りの初心者であるため、もし自分が他に記載しなければならない情報など表記し忘れていたならば、それも教えてくだされば嬉しいです。
既にメッセージ表示速度を1/4にされているとのことですが、標準でそのような機能はない認識です。
「現在何をやられているか」や「既に何を試してダメだったか」なども書くようにすると親切かもしれません。
RPGツクールMZ
2023年2月からMZでゲーム制作開始
RPGツクール2000時代に簡単なRPG制作経験あり
プログラミング経験なし
2023年2月からMZでゲーム制作開始
RPGツクール2000時代に簡単なRPG制作経験あり
プログラミング経験なし