ページ 11

ゲーム中に用語を変更する方法はありますか?

Posted: 2018年7月05日(木) 15:30
by morio
データベースのステータス名・能力値などの用語を、ゲーム最中の好きなタイミングで変更する方法を知りたいです。
例えばゲーム中に別世界が舞台になった時、通貨単位を変えるなどを行いたいです。

具体的な例として、SFCのライブアライブというゲームの様に、章ごとに舞台が別の時代・別主人公に変わる様なシステムを作る場合、
その都度ステータス名やコマンド名、戦闘中メッセージなど(不意をつかれた・会心の一撃など)を変更したいです。
回答宜しくお願い致します。

Re: ゲーム中に用語を変更する方法はありますか?

Posted: 2018年7月05日(木) 17:26
by しぐれん
技術的にはSystem.jsonをコピーして異なる内容のファイルを複数作り、$dataSystemに相当するインスタンスを複数作れば可能ですね。
手が空いてないので作れませんが。

Re: ゲーム中に用語を変更する方法はありますか?

Posted: 2018年7月14日(土) 22:33
by morio
回答ありがとうございます。
お返事遅くなって申し訳ありません。
回答を元に自分なりに色々調べた所、なんとか理解することができました…!
制作に挑戦してみます。ありがとうございました!

Re: ゲーム中に用語を変更する方法はありますか?

Posted: 2018年7月15日(日) 12:46
by フトコロ
こんにちは。

こんな感じで、rpg_manager.js で規定している TextManagerを書き換えるのも手です。
例えば、ゲーム内変数を参照して表示させるとか。

コード: 全て選択

//ゲーム内変数を取得する関数を追加
TextManager.getVariables = function(id) {
    return {
        get: function() {
            return $gameVariables._data[id];
        },
        configurable: true
    };
}

Object.defineProperties(TextManager, {
    level           : TextManager.getter('basic', 0),
    levelA          : TextManager.getVariables(1), //”Lv”と表示する部分をゲーム内変数1の値に変更
//    levelA          : TextManager.getter('basic', 1),

ゲーム内変数に文字列を代入するためには
変数の操作コマンドでスクリプトを選択し
ダブルクォーテーション( " )で囲んで文字列を入力してください。