package net.gfx;
public class TileSet {
public final int TILES = 627;
class Tiles {
int x = 0, y = 0;
int w = 0, h = 0;
}
public Tiles tiles[] = new Tiles[TILES];
public TileSet() {
for (int i = 0, y = 0; i < TILES; i++) {
for (int x = 0; x < 1280; x =+ 25) {
if (x > 1280) {
x = 0;
y += 40;
}
tiles[i] = new Tiles(); //Program Freezes here
tiles[i].x = x;
tiles[i].y = y;
tiles[i].w = 40;
tiles[i].h = 40;
}
}
}
}
我想做的基本上是在屏幕上创建一个图 block 数组。我已经修复了我到达这里的原始错误 Error Setting Object Array Values但现在当我运行它时它卡住了。代码中有更多详细信息。
最佳答案
=+ 不是 java 运算符。您在 x 循环中每次都将 x 设置为值 25。所以你永远不会遇到 x > 1280 的情况,因为每次循环(除了第一次)x 都是 25。如果你希望每次循环都将 x 递增 25,你应该使用 += 运算符。
关于java - 创建数组的新实例时程序卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18647778/