変数Bに変数Aで指定した変数番号の変数の中身を代入するスクリプトを教えてください。

#ツクルーム フォーラム RPGツクールMZ (RPG Maker MZ) 変数Bに変数Aで指定した変数番号の変数の中身を代入するスクリプトを教えてください。

  • このトピックには3件の返信、1人の参加者があり、最後にEvelynにより1ヶ月、 4週前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #761 返信
    楽したいマン
    ゲスト

    変数Bに変数Aで指定した変数番号の変数の中身を代入するスクリプトを教えてください。

    つまり、代入元の変数を、変数で指定した変数で指定したいです。

    代入先を変数で指定した変数で指定する方法、つまり
    変数Aで指定した変数番号の変数に、変数Bを代入できることはわかりました。

    そうではなく、代入元の変数を、変数で指定した変数で指定したいです。

    例えば
    変数ID1=100、変数ID2=200、変数ID3=300 以下省略
    と代入してある時
    変数A=1なら、変数Bに100を代入。変数A=2なら、変数Bに200を代入したいです。

    イベントコマンドで作るなら、条件分岐を使って

    ◆条件分岐:変数A = 1
    ◆変数の操作:変数B = 変数ID1

    :分岐終了

    ◆条件分岐:変数A = 2
    ◆変数の操作:変数B = 変数ID2

    :分岐終了

    以下省略

    という風に作っていく内容を、スクリプトで短くできたらいいなと思います。

    例えば

    ◆変数の操作:#0197 変数A = 0
    ◆ループ

    ◆変数の操作:#0197 変数A += 1
    ◆注釈:———
    :  :ここに
    :  :変数Bに変数Aで指定した変数番号の変数の中身を代入する処理
    :  :———
    ◆条件分岐:変数A = 100
    ◆ループの中断

    :分岐終了

    :以上繰り返し

    って、事が出来れば楽だなあと思いました。

     

    #762 返信
    楽したいマン
    ゲスト

    AI君が回答つけてくれないレベルの難問だったか・・・

    #763 返信
    楽したいマン
    ゲスト

    あ、ひょっとして、こうか?

    $gameVariables.setValue($gameVariables.value(変数B),$gameVariables.value($gameVariables.value(変数A)))

    なんだ、簡単じゃないか、難しく考えすぎてた。
    一番最初に思いついてもよさそうな答えだったわ・・・

    #764 返信
    Evelyn
    参加者

    その書き方で合っています。

     

    RPGツクールMV/MZでは、変数番号も数値として扱えるので、

    「変数Aに入っている番号の変数の中身」を参照できます。

     

    基本形はこれです。

     

    $gameVariables.setValue(

    変数Bの番号,

    $gameVariables.value($gameVariables.value(変数Aの番号))

    );

     

     

    例として

    変数Aが 1、変数ID1 に 100 が入っている場合、

    変数Bには 100 が代入されます。

     

    条件分岐を並べる必要はなく、この方法が最短で安全です。

    • この返信は1ヶ月、 4週前にEvelynが編集しました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
返信先: 変数Bに変数Aで指定した変数番号の変数の中身を代入するスクリプトを教えてください。
あなたの情報:




ゲスト