1

位置が col_obj と衝突することなく、部屋でランダムな位置を取得しようとしています。ここに私のコードがあります:

w = room_width; 
h = room_height;
of = 32;
// zoek nieuwe lege plaats voor volgende letter op
tx = irandom_range(of,w - of * 2);

ty = irandom_range(of, 570);

var col_obj;
switch(global.room_sel)
{
  case lava_room:
  col_obj = lava_obj;
  break;

  case ice_room:
  col_obj = test;
  break;

  case space_room:
  col_obj = test;
  break;
}

while(place_meeting(tx, ty, col_obj))
{
  ty = irandom_range(of, 570);
  tx = irandom_range(of,w - of * 2);
}

ここでは global.room_sel は常に lava_room なので、col_obj は正しいはずです。このスクリプトを実行すると、while がループし続けてゲームがクラッシュしますが、その理由がわかりません。はい、部屋には「col_obj」によって取得されない空きスポットがあります。

4

1 に答える 1

0

問題を修正し、使用

do { //code } until(!place_meeting(tx, ty, col_obj)) 

代わりに..なぜうまくいかなかったのかわからない。

于 2014-04-17T19:07:48.993 に答える