[RPGツクールMV] スクリプトでメッセージを表示させてみる
Nプログラマ(@Nprog128)です。
RPGツクールMVをチマチマと弄っております。
村人としてピエロくんを作って、メッセージを表示させてみました。
ツクールMVに搭載されているメッセージを表示させる機能を使えば、簡単に表示させることができます。
これを今度はスクリプトで表示させてみよう、というのが今回の内容になります。
イベントエディターで作る
イベントエディターで作成する場合はとても簡単で、実行内容 > 文章の表示とすればすぐに文章を表示させることができます。
後は忘れがちな画像の設定をして、その画像に合わせた顔グラフィックを設定してあげれば辛辣なことを言ってくれるピエロくんの完成です。
ピエロくんを張り倒してやりたいっ!
スクリプトでメッセージを表示したい
さて、、、ここでちょっと思い立つのが、、、
スクリプトでメッセージを表示させたくなる場合。
どういう風にすれば、このような表示ができるのか?
コアスクリプトを根気よく読んでいくのもいいですが、さすがはいんたーねっつ!
すでに先人たちの知恵が溢れているので、今回はこちらを参考にさせて頂きました。
スクリプトで$gameMessageのaddメソッドを使えば、イベントエディターで作るメッセージと同じようなことができるようです。
試しにピエロくんに「スクリプトからこんにちは!」と言わせるために、このようなスクリプトを書いてみました。
1$gameMessage.add("スクリプトからこんにちは!");
さて、プロジェクトを保存して実行してみましょう。
おぉ、、、ピエロくんが喋ってくれましたね!
メッセージを表示するだけのスクリプトを実行しているため、顔グラフィックがなく向きもすぐに下向きに戻ってしまいました。。。
顔グラの設定方法は先程の 参考ページ にありますので、ぜひそちらで確認してみてくださいっ!
もう少しピエロくんに喋ってもらいましょうか!
今度は追加で「仕様は未実装」と喋ってもらいます。
1$gameMessage.add("スクリプトからこんにちは!");
2$gameMessage.add("仕様は未実装");
さてさて、どんな風になるでしょうか。
あれ、、、なんかピエロくん。
想像していたのと違うものになっているんだけど、、、(汗)
日常会話だったら、読点なしで一気にまくし立てて喋った感じになっていますね、きっと。。。(笑)
本来はこうなって欲しかったのです。
こちらはイベントエディターで作成したものです。
なるべく同じに見えるように顔グラフィックも未設定で作ってみました。
なぜなんだろう、、、と思ってさらに検索で調べてみると、こちらのページが見つかりました。
ツクールMVのスクリプトで文章の表示を行う方法+|uta asakayu|note
こちらの2行のスクリプトを使うことで、本来やりたかったメッセージをピエロくんに喋らせることができるようです。
1$gameMessage.newPage()
2this.setWaitMode('message')
先程と同じようにイベントエディターからスクリプトを使って、以下のように記述してあげると、ピエロくんがきちんと喋ってくれます。
1$gameMessage.newPage()
2$gameMessage.add("スクリプトからこんにちは!");
3this.setWaitMode('message')
詳しい説明やコードは 参考ページ にあるので、そちらを確認してみてくださいっ!
無事にピエロくんは、自分が想定した通りに喋ってくれることができました。
イベントエディター内で、スクリプトを分けて書いてあるのもポイントです。
これらを一行にまとめて書くとうまく動作しません。。。(汗)
なんでやねん!
と憤怒しながら、これまた調べていたらこちらのページを見つけました。
こちらのページの中で トリアコンタンさん が説明されているJSとコアスクリプトのイベント実行機能についての内容が分かりやすいと思います。
【解決済み】$gameMessage.add()で停止させる方法 | ツクールフォーラム
分かりやすかった、、、(落涙)
色々とありましたが、これでスクリプトでメッセージを表示させることができるようになりました。
いやぁ、、、正直スクリプトで簡単に一発で表示できるだろうと思っていたトコロがあったのですが、まったくもって認識が甘かったですね(汗)
以後、精進しますorz
やかましいわいっ!
おわりに
今回は、RPGツクール MVでスクリプトを使ってメッセージを表示する、という内容でした。
基本的にはイベントエディタを使っていくと思いますが、スクリプトでもできることを知っておくと、いざという時に役に立つと思います。
それでは、このへんで。
バイナリー!
Steam もセールで大幅に割引されていることがあるので、ちょいちょい確認してみるといいッスよ!
参考にしたページ
ツクールでゲームを作っていく上で非常に助かりました、ありがとうございます! m(_ _)m
- ツクールMVのスクリプトで文章の表示を行う方法
- ツクールMVのスクリプトで文章の表示を行う方法+|uta asakayu|note
- 【解決済み】$gameMessage.add()で停止させる方法 | ツクールフォーラム