java Roguelike开发jlabel over jlabel
又是我。 我仍在发展我的流氓形象,但我还有一个问题。我使用Jlabel的2D数组在GridLayout上显示我的地图,它工作得非常好。但是现在,我想在地板上画我的角色,怪物等等。我是否被迫将布局切换到JLayeredPane,或者是否有任何方法可以通过GridLayout实现这一点
你可以在下面搜索框中键入要查询的问题!
又是我。 我仍在发展我的流氓形象,但我还有一个问题。我使用Jlabel的2D数组在GridLayout上显示我的地图,它工作得非常好。但是现在,我想在地板上画我的角色,怪物等等。我是否被迫将布局切换到JLayeredPane,或者是否有任何方法可以通过GridLayout实现这一点
# 1 楼答案
使用JLabel速度非常慢,您应该使用monospace字体并直接写入JPanel的图形对象,或者使用库
我推荐我的,那是SquidLib。这是最新的,最具特色的,也是唯一一个仍在继续发展的。它也是唯一一个拥有大量示例并支持Java可以加载的任何字体的版本
如果您更习惯于使用curses或libtcod方式与控制台进行交互,Blacken是个不错的选择,但它们不允许任意使用字体
没有链接到libjcsi,因为我没有足够的代表发布超过2个链接。不过,谷歌很容易做到这一点
# 2 楼答案
您应该使用多个
JPanel
JPanel
(使用GridLayout
)JPanel
用于显示怪物和其他东西。(以你喜欢的任何一个为准)李>JPanel
添加到具有JLayeredPane
的帧中李>所以两者都有优势
注意:别忘了调用顶部的
JPanel
上的setOpaque(false)
祝你好运