Java 如何使gif始终成为活动窗口的背景(位于其他对象后面)?
如何使图片或gif在活动窗口中的深度始终高于任何其他可见对象?(使用StdDraw.java) 我正在尝试将动画gif设置到我正在制作的游戏的背景中。但是,每当我创建一个新形状(例如,地面块)时,新对象总是在gif后面。我想让gif无论发生什么都始终位于底部(因为我的代码最终将处理多个对象、文本等) 到目前为止,我的代码是:(注意,我让它按照我所描述的那样工作,但不知怎么搞砸了,它甚至不再显示gif后面的底部块——如果你知道我是怎么搞砸的,那将非常有帮助) 我意识到已经有人问过一个类似的问题:但是我相信我在这个问题上的变化值得帮助,因为我不完全确定我如何理解在不大幅更改代码的情况下,该帖子中给出的答案可以应用于我的代码(例如,我使用的是StdDraw,而不是Swing) 我是一个新手,刚接触stackexchange,请原谅我的无知Java 如何使gif始终成为活动窗口的背景(位于其他对象后面)?,java,background,stddraw,Java,Background,Stddraw,如何使图片或gif在活动窗口中的深度始终高于任何其他可见对象?(使用StdDraw.java) 我正在尝试将动画gif设置到我正在制作的游戏的背景中。但是,每当我创建一个新形状(例如,地面块)时,新对象总是在gif后面。我想让gif无论发生什么都始终位于底部(因为我的代码最终将处理多个对象、文本等) 到目前为止,我的代码是:(注意,我让它按照我所描述的那样工作,但不知怎么搞砸了,它甚至不再显示gif后面的底部块——如果你知道我是怎么搞砸的,那将非常有帮助) 我意识到已经有人问过一个类似的问题:但
谢谢你能提供的任何帮助 您正在单个
画布上绘制。首先,清除
(这将绘制一个全是白色的屏幕)。然后绘制clouds.gif
。你接下来画的任何东西都将放在画布上(例如你的图像)。这似乎对我不起作用。我在setYscale下添加了一个StdDraw.clear(),然后放置while循环动画,然后放置填充的矩形代码。这就是你的意思吗?不,它就像一张画布(或一张纸);你画一些东西。如果你画别的东西,它就在上面。如果将填充矩形放在while循环之后,则它将位于动画的顶部(这与所需相反)。
public static void main(String[] args){
StdDraw.setCanvasSize(800,480);//window dimensions in pixels
StdDraw.setXscale(0,1);//scale of window
StdDraw.setYscale(0,1);//scale of window
StdDraw.setPenColor(StdDraw.BLUE);//pink rectangle (bottom block)
StdDraw.filledRectangle(0.5,0.0,1.0,0.05);//ground (visual only)
while (true){//GIF LOOP
StdDraw.clear(); //clears previous drawing
StdDraw.picture(0.5, 0.5, "clouds.gif");//cloud gif is 640x480 so the block *should* extend beyond it given the scale
StdDraw.show(10);
}