我正在写一张带有多张牌的纸牌游戏,这些牌将叠加在未播放的牌组上,也可以放在玩家手中。
目前我在开始时将所有100名演员添加到屏幕上以使其更容易,因此我无需在需要时管理添加它们。他们都是从彼此的顶部开始,有些人可以分发给玩家手中,这也只是成堆的牌。因此理论上,在5人游戏中,只有6张牌可见,牌组和每个玩家的手牌顶部。
我希望有人可以告诉我一个聪明的方法,意味着只有6种绘制方法可以在可见的角色上运行,或者我是否必须自己管理所有这些?
如果我这样做,你会建议只在我需要时添加演员,或者将它们添加为隐形,然后在需要时将它们设置为可见?
还是另一种方法?
答案 0 :(得分:1)
为了节省大量的计算,你可以只渲染卡片的图像6次。如果正在处理一张牌,则只需渲染第7张正在屏幕上移动的牌。这避免了调用大量对象的draw方法。
答案 1 :(得分:0)
如果每堆中只有一张卡片可见,您可以使用堆叠。 堆栈就像一个数组,您可以从一端访问元素,一次只能访问一个元素。然后,您只需在堆栈顶部卡上调用draw方法(peek)。然后丢弃顶部卡片并将下一张卡片放在顶部(弹出)。
一些教程和示例:
或者只是google" Java Stack"它的使用非常简单。