ページ 12

ゲージ表示プラグイン(更新2020/02/33)

Posted: 2020年2月20日(木) 16:07
by しぐれん
試作品として公開。
ピクチャーでゲージを表示するのに使えるプラグインです。
現在値・最大値の二つを変数で設定し、その状態に応じて画像が切り取られた状態で表示されます。
アニメーション機能は入れてないので、数値が変化するとパッと変わります。

※更新
ゲージのアニメーションパターンが増えました。

Re: ゲージ表示プラグイン

Posted: 2020年2月20日(木) 19:05
by ムノクラ
しぐれん さんが書きました:試作品として公開。
ピクチャーでゲージを表示するのに使えるプラグインです。
現在値・最大値の二つを変数で設定し、その状態に応じて画像が切り取られた状態で表示されます。
アニメーション機能は入れてないので、数値が変化するとパッと変わります。

今なら「こういう機能が欲しい」を短期ですが受け付けます。


自分が使うという想定でないので恐縮ですが、予想される希望としては、複数の変数(特殊なパラメーターとして)を使用できることを希望されることでしょうか。
例えば、トリアコンタンさんのゲーム内時間の導入プラグインの変数をグラフィカルに表示したい…みたいな感じになると、いくつもバーが必要になりそうです。

Re: ゲージ表示プラグイン

Posted: 2020年2月20日(木) 19:21
by しぐれん
そういった場合も頑張って2つの変数にしてください…という方針です。
日付はUNIX時刻などのように単一の数値で表すことができます。
確認したところ、トリアコンタンさんのゲーム時間プラグインは日付時刻の情報をdateで所持していました。
手間をかければ0時からの経過時間を取得できるので、それをベースに計算できると思います。

Re: ゲージ表示プラグイン

Posted: 2020年2月20日(木) 20:03
by ムノクラ
しぐれん さんが書きました:そういった場合も頑張って2つの変数にしてください…という方針です。
日付はUNIX時刻などのように単一の数値で表すことができます。
確認したところ、トリアコンタンさんのゲーム時間プラグインは日付時刻の情報をdateで所持していました。
手間をかければ0時からの経過時間を取得できるので、それをベースに計算できると思います。


ごめんなさい。
ダウンロードして、パラメーターだけ見てモノを言ってしまいました。
listがあるのに気づいていませんでした…。

そうなると、出てきそうなのは装飾部分でしょうか?
バーの色は指定したくなるでしょうね。
画像で指定できる方が良いのでしょうかね?
この辺りはゲーマーの意見を集めたいところですね。

ここまで高機能ではありませんが、似ているプラグインとしてはGALV Variable Barがあります。
https://fungamemake.com/archives/3990

あとはMOG Variable Hudでしょうか。

初心者にも扱いやすいように、画像がなくても使える仕様の方が広く望まれるような気がします。

Re: ゲージ表示プラグイン

Posted: 2020年2月20日(木) 20:30
by しぐれん
装飾についてはゲージの裏側にピクチャーを置いて対応を想定しています。
パーツを極限まで少なくする設計にしています。
バーの色ですが、画像の切り替えで何とか…という形です。

画像無しについては自分でも欲しいので検討中です。
トリアコンタンさんの動的文字列ピクチャからコピ(ry…参考にしつつ実装します。

Re: ゲージ表示プラグイン

Posted: 2020年2月20日(木) 23:14
by にゃたま
しぐれん様

お世話になっております。
面白そうな試みでしたのでDLさせていただきました。
あると便利だと思う機能を以下に示します。
もし以下「ゲージアニメーション」実装いただけましたら私のゲームに
実験的に入れてみるかもしれません。うまくいけば正式に導入します。

・現在の変数値から変数値を変更した値まで「ゲージ現在値ピクチャ」をアニメーション
但し上記は最低限で可能なら別モードの以下が出来たら最強です。

前提として「ゲージアニメーションピクチャ追加」します
・現在の変数値から変数値を変更した値まで「ゲージアニメーションピクチャ」をアニメーション

ピクチャ番号01 ゲージ背景ピクチャ(実装済)【イメージ:灰色】
ピクチャ番号02 ゲージアニメーションピクチャ(追加)【イメージ:赤色】
ピクチャ番号03 ゲージ現在値ピクチャ(実装済)【イメージ:青か緑】

アニメーションを開始前に30フレーム(任意)程度停止した後アニメーション開始
ゲージが減るアニメーションの時間は指定秒数で必ずアニメーションを完了するか一定速度でアニメーションする
ゲージ増加時はアニメーションピクチャに加え現在値ピクチャもアニメーションしてもいいかも(任意)
アニメーションピクチャを加える利点はどれだけ値が減ったかを視覚的にわかりやすくする為です。
アニメーションピクチャという名称は私が考えた仮の名前で増減ピクチャとかダメージピクチャとか
他の名前でもいいと思います。
即ちアニメーションピクチャは現在値ピクチャの値をアニメーションしながら追いかけるものです。

一応思いついた案だけですがこれらができるとこのプラグインを採用する利点がかなり加わるかと思います。
説明が下手なのでわかりづらかったらすみません。ご検討いただけましたら幸いです。

最後に報告したいことがトリアコンタン様の動的文字列ピクチャの後に
当プラグインを配置するとエラーするみたいなので前に移動しましたが
その件をヘルプに記載するといいかもです。(以下記載例)
「動的文字列ピクチャを併用する場合は当プラグインを動的文字列ピクチャより前に配置してください」等

Re: ゲージ表示プラグイン

Posted: 2020年2月20日(木) 23:44
by しぐれん
アニメーション機能は現在設計作業の段階です。
最近のポケモンだとHPの数値に関わらず一定の速度でゲージが減るので、それを参考にした実装にすると思います。
アニメーションを完了させるフレーム数を指定して動かす形だと思います。

処理の流れとしては
・変数の変更を検知
・タイマーを開始する
・タイマーの経過時間に応じてゲージを動かす
の方針です。

にゃたまさんのイメージはモンハンでダメージを受けた場合のHPゲージのような物でしょか。
あるいは格闘ゲームの体力ゲージ。
仕様上は十分可能だと思うので、検討します。
アニメーション機能さえあれば、あとはパラメータ設定次第でできそうです。

動的文字列ピクチャーとの競合は大問題ですので調べましたが、プラグインコマンドの実行部分でthisを忘れていました。
競合ではなく、単純なこちら側のバグです。
次期バージョンでまとめて修正します。

Re: ゲージ表示プラグイン

Posted: 2020年2月21日(金) 00:01
by にゃたま
しぐれん様

すみません。
実はモンハンをプレイしたことがなくその動きがイメージできません。
ポケモンならプレイしてるのであのイメージでもいいですが
あの程度は最低限できてほしいです。

もっと視覚的にわかりやすくということで提案しました。
速度に関しては一定でも問題ありません。
仰るとおり格闘ゲームがイメージに近いです。
最近ゲームそのものをプレイしてないというか(ポケモンくらいなもので)
他に既存ゲームで例を考えるのが難しいです。思いついたら例を投稿したいと思います。

トリアコンタン様の動的文字列ピクチャとは競合だったのですか…
てっきり順番さえ守れば問題ないやつかと思ってました(^^;

Re: ゲージ表示プラグイン

Posted: 2020年2月21日(金) 00:10
by しぐれん
格闘ゲームっぽい、で理解が一致してそうなのでその方向で実装します。
プラグインパラメータにサンプルとして実装してみます。

ゲージ側のプラグインコマンドの部分を見たのですが、以下のように修正すれば直ります。
早い話、私のプラグインが競合ではなく単独でバグを起こしていました。

コード: 全て選択

const Game_Interpreter_pluginCommand =Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function(cmd,args){

    if(cmd[0]!=='G'){
        //ここのthisが抜けている
        Game_Interpreter_pluginCommand.call(this,cmd,args);
        return;
    }
    switch (cmd) {
        case "GAUGE_PICTURE":
            gaugePicture(Number(args[0]),args[1]);
            break;
        default:
            break;
    }
};

Re: ゲージ表示プラグイン

Posted: 2020年2月21日(金) 09:56
by にゃたま
しぐれん様

すこし細かな点になりますが現在値ゲージが減りアニメーションゲージが待機中に
現在値ゲージが更に減った場合、即ち最後に現在値ゲージに変更が加えられたときの
待機フレームを反映すべきであると考えます。

ただアニメーション中に現在時ゲージに変更が加えられた場合は待機フレームはなしでもいいように思います。
つまり一度開始されたアニメーションは現在値に到達するまで動き続ける感じ。
もう一案としてはアニメーション中に変更が加えられたら一旦アニメーションピクチャを現在値ピクチャに即座に
合わせてその位置からアニメーションするという案もあります。
いわゆる一旦リセットしてアニメーションするパターン。この場合ダメージコンボがわかりやすくなります。

上記はあくまでも私が考えた案なので実装はしぐれん様の判断におまかせします。

モンハンを初めてYoutubeで見てみましたが(https://www.youtube.com/watch?v=n0luP_Ctgw0)
確かにアレのHPの感じです。

追記
って書いてて思ったのがコレってアクションRPGそのものでは?ってことでしたw