こんにちは。
ひとりで悪戦苦闘していたのですが、解決に辿り着けなかったので、皆様のお知恵を拝借させてください。
現在、カスタムメニューの作成に取り組んでいます。
そこで、現在のパーティーが所持している装備可能アイテムを取得しようと、リファレンスを眺めていたところ、
$gameParty.weapons()
という表示を見つけました。
これをさっそく、ツクール上で
$gameMessage.add($gameParty.weapons())
としてみたところ、"[object Object]"と表記されました。
リファレンスを再度見返してみたところ、どうやら「$gameParty.weapons()」には、
objectという型で、情報が格納されているようなのですが、この中身の取り出し方がいまひとつわかりません。
(そもそもobjectが、配列なのかどうかすらよくわかっていません)
武器だけでなく、防具についても同様の処理がしたいのですが、
「$gameParty.equipItems ()」については、もはやチンプンカンプンです。
目標は、現在の所持している装備品をリスト上に羅列することなので、
【<現在所持中の装備品のid>を取得し、変数に格納する方法】がわかれば理想です。
(idが取得できれば、そこから芋づる式に他の情報は拾える為)
稚拙な質問で恐縮ですが、お力添えを頂けたら嬉しいです。何卒よろしくお願い致します。
現在所持しているアイテムのidを変数に格納する方法
現在所持しているアイテムのidを変数に格納する方法
HN:とりもち
ツクール歴:2年生
javascriptは詳しくわからないけど、コアスクリプトを眺めているうちに、
なんとなく意味はわかるになってきた...かな?
日々奮闘中です。
ツクール歴:2年生
javascriptは詳しくわからないけど、コアスクリプトを眺めているうちに、
なんとなく意味はわかるになってきた...かな?
日々奮闘中です。
Re: 現在所持しているアイテムのidを変数に格納する方法
object(オブジェクト)と配列は別物です。
文章の表示で使用する場合と、カスタムメニューなどで配列として使用する場合、
変数にIDを格納させる方法だとそれぞれやり方が別になってきます。
変数にidを格納しても、例えば武器が10個あった場合の処理なども考えなければなりません。
カスタムメニュー作成プラグインであれば、$gameParty.weapons()だけで、武器の名前だけのリストが作成出来るはずです。
もしくは、武器の名前の配列を利用します。
配列のインデックスから武器のデータ(オブジェクト)を参照する方法です。
コード: 全て選択
//武器リストの文章表示
let text = $gameParty.weapons().map(e => e.name).join('\n');
if (text) $gameMessage.add(text);
//防具リストの文章表示
let text = $gameParty.armors().map(e => e.name).join('\n');
if (text) $gameMessage.add(text);
//武器の名前の配列
$gameParty.weapons().map(e => e.name);
//防具の名前の配列
$gameParty.armors().map(e => e.name);
変数にIDを格納させる方法だとそれぞれやり方が別になってきます。
変数にidを格納しても、例えば武器が10個あった場合の処理なども考えなければなりません。
カスタムメニュー作成プラグインであれば、$gameParty.weapons()だけで、武器の名前だけのリストが作成出来るはずです。
もしくは、武器の名前の配列を利用します。
配列のインデックスから武器のデータ(オブジェクト)を参照する方法です。
コード: 全て選択
$gameParty.weapons()[1] //インデックス1番の武器データ
$gameParty.weapons()[1].id //インデックス1番の武器id