【解決済み】ステータス表示をバーで表現する方法

返信する
syun
記事: 6
登録日時: 2025年1月04日(土) 19:35

【解決済み】ステータス表示をバーで表現する方法

投稿記事 by syun »

大変お世話になっております。

RPGツクールMVにおいて、下記の画像のように制限時間をバーのメモリが徐々に減っていくような演出で表現したり、逆に好感度などをメモリが増えていくような形で演出したいのですが、プラグイン等が見つからずに困っています。
例えば好感度ですと、20から40に増えたとして一気に20分のバーの幅が追加されるのではなく、じわじわと増えていくような演出にしたいのですが、PictureAnimation.jsのようなプラグインでメモリを1~100まで等分した画像を用意して動かすような形以外でもう少し楽に表現できる方法があるのであれば是非知りたいです。

何卒、宜しくお願い致します。
イラスト.png
イラスト.png (7.9 KiB) 閲覧された回数 1137 回
最後に編集したユーザー syun [ 2025年1月05日(日) 17:31 ], 累計 1 回
miyomi
記事: 22
登録日時: 2024年10月25日(金) 02:32

Re: ステータス表示をバーで表現する方法

投稿記事 by miyomi »

はじめまして。
現在、自作のゲームで採用している方法をご紹介します。

まず好感度や時間など、バーとして動かしたい数値を並列のコモンイベントで変数に格納します。
バーをじわじわと動かしたい場合はリアルタイムで数値を変数に格納する必要があるので、必ずコモンイベントのトリガーを並列にしてください。
※戦闘中にこのバーを表示したい場合はNRP_BattleParallelCommon.jsなどを使用し、コモンイベントを戦闘中でも並列処理できるようにしてください。

次にバーとして動かすためのピクチャを用意します。
これはsyuuさんが用意して下さったサンプル画像の丁度青色の部分に当たります。
黒いフチと結合させてしまうとフチも動いてしまうので、別々に用意し、青い部分は黒いフチや背景の上に重ねるようにしてください。
用意ができましたら、こちらを並列『ではない』コモンイベントなどで拡大率を幅0%で表示します。

最後に、以下を並列のコモンイベント、スクリプトで入力し、左右に伸ばせば完成です。

コード: 全て選択

$gameScreen.movePicture(番号,原点,x座標,y座標,幅の拡大率,高さの拡大率,不透明度,合成方法,移動時間)
//ピクチャの移動中ウェイトをかけるなら以下のコードを追加
this.wait(ウェイト時間)
上記はピクチャ移動を行うスクリプトです。
この幅の拡大率を$gameVariables.value(n)に変え、nに最初の変数の数値を入れれば、
バーのピクチャの幅だけがリアルタイムで変動し、かなりぬるぬる動くステータスバーが完成するわけです。
初期幅ではなく高さを0にして、変数を高さの拡大率に代入すれば、縦に動くバーも作れます。

ピクチャを伸ばしてバーを表現する都合上、バー自体に派手な装飾や、長方形以外のバーはできません。
そこは枠や背景を加工するなどしてうまく対応して下さい。



ピクチャの移動 / ツクールMVスクリプトリファレンスwiki
https://rpgmaker-script-wiki.xyz/movepic_mv.php
syun
記事: 6
登録日時: 2025年1月04日(土) 19:35

Re: 【解決済み】ステータス表示をバーで表現する方法

投稿記事 by syun »

miyomiさん、回答ありがとうございます

バーの部分を幅の拡大率を0から100に変数で指示して表現するという方法を聞いてなるほど!と思いました。
幅や高さの拡大率という項目をいじったことがなかったので、目から鱗です。
実際にmiyomiさんの助言通りツクール側で試してみたところ、凄くぬるぬると動くバーを実装することができました。

非常に助かりました! 本当にありがとうございます!
返信する

“MV:質問”に戻る