GameMaker 日本語掲示板

アイテムインベントリにて... / 1

2 コメント
views
17 フォロー
1
名前なし 2024/03/06 (水) 15:44:56 修正

エンターキーを押したときに、配列の変数「inv」内、現在のアイテム欄のカーソル位置ID(順番)を参照しようとしているが、配列が空だと参照しようがないのでエラーになっている状態です。

配列の範囲外を参照しないようにチェックするとエラーが出ないようにできます。

//もしアイテムを使用したら///////////////////////////////////////////////////////////////////////////

if keyboard_check_pressed(vk_enter){

	 inv[selected_item].siyou();

「inv[selected_item]」で配列の値を参照しているので、その前のif文で、配列が空だったら処理しないように条件文を追加します。

//もしアイテムを使用したら///////////////////////////////////////////////////////////////////////////

if( array_length(inv) > 0 && keyboard_check_pressed(vk_enter) ) {

配列変数invの配列要素数が0(アイテムがない状態)より大きい かつ キーボードのエンターキーが押されたら
という条件にすれば配列要素数1以上の時に、エンターキーの処理を実行する状態になります。

「&&」は&&で両方の条件を満たしたときにtrueになります。

試してみてください。

通報 ...
  • 2
    ZUN is my dream(19) 2024/03/22 (金) 03:30:36 >> 1

    す、すごい...。&&については初めて使いました...。
    解決しました。ありがとうございます。