2016-05-15 72 views
0

我正在制作纸牌游戏,当玩家与放置在纸牌上的纸牌进行互动时,我一直在提供简单的视觉反馈。Java Swing纸牌游戏中的视觉反馈

enter image description here

正如你可以在图片中看到我想实现的是在黑板上用不同的对象进行交互(例如卡之间绘制箭头时,用飞船一箭头会之间出现的玩家攻击该船及其目标)。当玩家做出他的动作时,箭头需要在对手gui上画出来,以及当对手开始他的防守阶段时。

整个客户端和卡片都使用swing库进行编码,并且是各种布局的JPanel。这些卡片是一类,并且板子gui由几个gui类组成(handGui,heroGui,unitFieldGui等),并加入到一个mainWindow gui类中。

我真的不知道如何着手实现这种视觉反馈,并希望如果你能指向正确的方向,哪种技术可以帮助我解决这个问题?

+1

有两件事会改善这个问题,并帮助您获得答案:特异性和代码。请详细询问并缩小可能的问题,并请张贴相关代码,最好是[mcve]或[sscce](http://sscce.org)。 –

回答

1

查看关于Glass Panes的Swing教程的部分。一个Glass Pane是绘制在框架顶部的组件,您可以自定义绘画。

您可以使用SwingUtilities.convertPoint(...)方法将两个卡组件的位置相对于Glass Pane转换。然后你做自定义绘画从一个组件绘制箭头到另一个组件。