【发布时间】:2010-04-12 19:24:03
【问题描述】:
背景:
我有两个二维数组。每个 2d 数组中的每个索引代表一个图块,该图块绘制在适合 8 x 8 块的方形画布上。
第一个二维数组表示地砖,并使用以下代码在画布上循环绘制:
//Draw the map from the land 2d array
map = new Canvas(mainFrame, 20, 260, 281, 281);
for(int i=0; i < world.length; i++){
for(int j=0; j < world[i].length; j++){
for(int x=0; x < 280; x=x+35){
for(int y=0; y < 280; y=y+35){
Point p = new Point(x,y);
map.add(new RectangleObject(p,35,35,Colour.green));
}
}
}
}
这会按预期创建一个 8 x 8 的绿色瓷砖网格。
第二个二维数组表示地面上的位置。这个二维数组的所有索引都为空,除了一个由 Person 类组成的索引。
问题
我不确定如何在网格上绘制位置。我在想一个类似的循环,所以它在之前的二维数组上绘制了另一组 64 个图块。只是这一次它们都是透明的,但只有一个不为空的图块。也就是说,Person 所在的 tile。
我想在整个循环中使用比较 if 语句来搜索
if(!(world[] == null)){
map.add(new RectangleObject(p,35,35,Colour.red));}
但是我的知识有限,我对如何实施它感到困惑。
【问题讨论】:
标签: java loops canvas multidimensional-array