->简介,可以跳过此部分
我很高兴能够在这个平台上发布文章,因为通过这个社区我自己获得了很多知识; 只是通过阅读。所以我想说“大家好,谢谢你们!
实际内容(序言):
虽然我在公司开发Objective-C,但我对JAVA开发非常感兴趣。 我对语法非常熟悉,但在awt / swing / Graphics2D方面有一些主要问题。
概念:
JAVA应用程序具有800 * 600帧。在此帧上,您可以看到16 * 12个大小为50px²的图块(即gras.jpg或tree.jpg)。在此框架上方,.png“player”正在移动。该字段使用二维int数组[16] [12]生成,其中0表示“gras”,1表示“tree”。
-> 这实际上“有效”。
第一次尝试:
添加(frame.add(...))16 * 12个带有imageIcon“gras”或“tree”的JLabel到JLayeredPane
添加(frame.add(...))类“entityLayer”,该类在5ms内使用paint(Graphics g)进行更新
{
g.drawImage(imageIcon.getImage());
}
如果我添加了具有瓦片的字段或实体层,则此版本“有效”。 在其他情况下,entityLayer会将带有灰色背景的字段覆盖,或者“player”在字段下不可见;
第二次尝试:
在entityLayer paint(Graphics g)方法中进行所有绘图。 但这不是我的意图。 我希望该领域被绘制一次,并且“player”与像半透明背景一样绘制在该领域上方。
问题:
如何使自己处于实际上具有两个完全独立的分层位置,而不必使一个重叠另一个? 我几乎99%确定我的尝试在某种程度上是错误的。
谢谢你们。