每次我运行我的小游戏时,它都会引发以下致命错误:
ERROR in action number 2 of Trigger Event: for object obj_y: Creating instance for non-existing object: 100012
我不知道是什么导致了它。我使用obj_y的唯一时间是在一个文件中。当我评论那部分时,它仍然不停地唠叨它不存在。
我的代码:
var randomxnumber;
var randomynumber;
var randomarraynumber;
var array;
var snelheid;
snelheid = 3.5;
array[0] = obj_a;
array[1] = obj_b;
array[2] = obj_c;
array[3] = obj_d;
array[4] = obj_e;
array[5] = obj_f;
array[6] = obj_g;
array[7] = obj_h;
array[8] = obj_i;
array[9] = obj_j;
array[10] = obj_k;
array[11] = obj_l;
array[12] = obj_m;
array[13] = obj_n;
array[14] = obj_o;
array[15] = obj_p;
array[16] = obj_q;
array[17] = obj_r;
array[18] = obj_s;
array[19] = obj_t;
array[20] = obj_u;
array[21] = obj_v;
array[22] = obj_w;
array[23] = obj_x;
array[24] = obj_y;
array[25] = obj_z;
randomxnumber = random_range(0, 50);
randomynumber = random_range(-10, -50);
for (int = 0; int < 20; int += 1){
if(randomxnumber >= window_get_width()){
randomxnumber -= 100;
} else {
randomxnumber += 50;
}
randomynumber -= 50;
array[int] = instance_create(randomxnumber, randomynumber, array[random_range(0, 26)]);
with(array[int]){
vspeed = snelheid;
}
}
快速说明,我使用的是GameMaker 8.1 Standard。我是傻了,只是错过了什么?
答案 0 :(得分:0)
这是非常奇怪的代码,我不明白你想做什么。
虽然有两个错误。
array[random_range(0, 26)]
应该是
array[irandom_range(0, 25)
GM舍入数组的索引,所以如果值大于25(25.1等),你将超出数组范围。
二。
array[int] = instance_create(...)
实例的id将存储到数组中。不是对象的id。但是instance_create
需要对象索引。您可以使用object_index
变量获取对象的索引:
array[int] = instance_create(randomxnumber, randomynumber, array[irandom_range(0, 25)].object_index);