我正在创建一个Ludo游戏,每个玩家都有4个单独的游戏片,每个片段都使用
Graphics2D g2d = (Graphics2D)g;
g2d.drawRect(...);
我如何能够参考这些单独的部分,因为其中一些只能在特定时间移动。即 每个人都以1个计数器开始,但是如果一个或者6个滚动,则一个新的棋子进入游戏。
答案 0 :(得分:1)
保留要绘制的对象的ArrayList。对象可能包含以下信息:
然后保持对每个对象的引用,当您更改3个属性中的一个时,重新绘制面板,所有对象将使用对象的当前状态绘制。
有关开始使用的示例,请查看Custom Painting Approaches中的start "" /min %SystemRoot%\explorer.exe /e,"%~1"
示例。该示例显示如何创建自定义对象并绘制ArrayList中的所有对象。由您来管理每个对象的属性。
答案 1 :(得分:0)
drawRect
没有创建您稍后可以引用的矩形对象。它将矩形直接绘制到图形缓冲区,然后忘记它。
因此,如果您想要移动的矩形,您必须创建一个表示这些对象的类并按需绘制它们。然后你可以通过调用所有对象的绘制方法来移动它们并重新绘制整个场景。