Hello friends! I have a question - the following line:
tracker = clamp(++tracker ,0 ,(array_length(enemies)-1));
它也可以写成
tracker = clamp(tracker+1 ,0 ,(array_length(enemies)-1));
如果是这样写:
tracker = clamp(tracker++ ,0 ,(array_length(enemies)-1));
则不工作。
有人知道原因吗?!区别是什么?!
// 在 create 中
enemies[0,0] = objEnemy1;
enemies[0,1] = 5;
enemies[1,0] = objEnemy2;
enemies[1,1] = 5;
tracker = 0;
// 在 alarm 中
tracker = clamp(++tracker ,0 ,(array_length(enemies)-1));
所以它会变成 enemies[tracker,1] 的意思。
我的意思是,我有一个二维数组 enemies[0,0]、enemies[0,1] 等等,在 0,1 位置存储计数 5,当这个计数 5 归零时,我会把 tracker(实际上是数组的第一位置)移动到位置 1,0,然后开始监视 1,1 并对其进行减法。然而我也想让 tracker 被 clamp,确保它始终在范围内。但当使用 tracker++ 时,它并没有递增。
我还注意到,当使用变量_x --; 而不是 ++ 时,同样的奇怪行为出现。
加法运行得比较正常,减法有时会出现奇怪的结果。
祝编程愉快!
评论 (0)