【发布时间】:2016-07-31 11:58:36
【问题描述】:
首先我想说的是,我不会包含我的任何代码,因为相关代码在许多函数和文件中都很普遍。我只是想看看我是否做错了什么,否则我不会用没完没了的代码行让你厌烦。
我正在尝试使用 Java 和 JavaFX 编写某种游戏。我创建了多个包含不同图形的GridPane 对象(现在都是占位符),全部堆叠在StackPane 上。一个GridPane 包含阴影对象,它们是低不透明度的黑色方块,覆盖在实际环境中。一个函数确定一个正方形是否应该被着色,然后在GridPane的那个位置添加一个黑色正方形的实例。
虽然一切正常,如下图所示,GridPane 将自身拆分为多个区域。
似乎每 25 个垂直或水平方格,GridPane 就会添加一个空白像素线,将其他所有内容偏移到侧面、下方或两者兼而有之。
我检查过所有的填充都是 0,并且由于阴影图像是通过整数值添加的,我无法理解为什么会发生这种情况。有什么想法吗?
(作为一个非常短的sn-p代码,这个函数添加了阴影方块)
shadowGrid.getChildren().clear();
for (int j=0;j<MAPYSIZE;j++){
for (int i=0;i<MAPXSIZE;i++){
if (isShaded(i,j)){
ImageView shadow=new ImageView(shadowBlock);
shadow.setOpacity(0.5);
shadowGrid.add(shadow,i,j);
}
}
}
【问题讨论】:
-
与问题无关,但如果您对不同的
ImageViews 使用相同的图像文件,您应该将数据加载到单个Image实例并将其用作@987654334 的数据@s。 (但在这种情况下,Rectangles 也足够了。) -
如果阴影网格包围了屏幕的一定百分比,它似乎被切割了。我仍然无法理解为什么会这样。有人帮忙吗?
标签: java javafx graphics alignment gridpane