ページ 11

【解決済み】ステータスに現在装備している装備の名前を選んで表示したい

Posted: 2021年7月21日(水) 01:13
by fyi
下記の通りの書き方で2番目の装備の名前は表示されたのですが、
なにも装備していないキャラを表示したときのnullエラーの回避方法が知りたいです。

コード: 全て選択

this.drawText(this._actor.equips()[1].name, x, y);

Re: ステータスに現在装備している装備の名前を選んで表示したい

Posted: 2021年7月21日(水) 08:44
by WTR
そのまま null でないときだけ drawText する でいいんじゃないでしょうか

コード: 全て選択

if (this._actor.equips()[1] !== null) {
    this.drawText(this._actor.equips()[1].name, x, y);
}
とか

コード: 全て選択

if (!!this._actor.equips()[1]) {
    this.drawText(this._actor.equips()[1].name, x, y);
}
あらかじめ null を弾いた配列を用意したほうが都合がいいことがあれば

コード: 全て選択

const equips = this._actor.equips().filter(equip => equip);
上記の equips はアクター毎というか装備の状態によって長さの異なる配列になります。

Re: ステータスに現在装備している装備の名前を選んで表示したい

Posted: 2021年7月21日(水) 18:54
by fyi
WTR様回答ありがとうございます!
貼っていただいたコードを組み込んだところ無事表示させることができました。
if文ってこう書くんですね…勉強になりましたありがとうございます。

解決したので解決済みとさせていただきます。