经验丰富的程序员在玩 Gamemaker2 Studio。
尝试使用二维数组在屏幕上绘制一些随机方块来存储“地图”
第 1 步:声明一个二维数组 MyMap[25,25] 这行得通
第 2 步:在 Map[]=1 中设置 100 个随机位置,这可行
当我尝试查找存储在数组中的值时,我遇到了崩溃。
它崩溃了:**执行错误 - 变量索引 [3,14] 超出范围 [26,14] **
所以看起来它正在尝试读取 26 个元素,当您从我的代码中看到 for next 循环仅进入 20 并且数组绑定为 25 时。
奇怪的是,前两个循环做得很好吗?
看起来像一个错误,我花了很多时间试图解决它,有人知道发生了什么吗?
var tx=0;
var ty=0;
var t=0;
MyMap[25,25]=99; **// Works**
for( t=1; t<100; t+=1 ) **// Works**
{
MyMap[random(20),random(15)]=1
}
for( tx=1; tx<20; tx+=1 )
{
for( ty=1; ty<15; ty+=1 )
{
show_debug_message(string(tx) + ":" + string(ty))
t = MyMap[tx,ty]; /// **<---- Crashes Here**
if t=1 then {draw_rectangle(tx*32,ty*32,tx*32+32,ty*32+32,false) }
}
}