LibGDX -演员在彼此之上,避免两个draw调用

  • 本文关键字:调用 draw 两个 LibGDX libgdx
  • 更新时间 :
  • 英文 :


我正在编写一个包含多张纸牌的纸牌游戏,这些纸牌将在未玩过的牌组和玩家手上堆叠。

目前,我在开始时将所有100个卡演员添加到屏幕上,使其更容易,所以我不必在需要时管理添加它们。它们都是相互叠加的,有些会被分发到玩家手中,这也是一堆卡片。所以理论上,在一个5人的游戏中,只有6张牌是可见的,即每个玩家的牌组和牌顶。

我希望有人能告诉我一个聪明的方法,意味着只有6个绘制方法在可见的演员上运行,或者我必须自己管理这一切吗?

如果我这样做,你会建议添加演员只有当我需要他们,或添加他们不可见,然后设置他们可见时,我需要吗?

或其他方法?

为了节省大量的计算,你可以只渲染卡片的图像6次。如果有一张牌正在发,那就渲染第7张牌在屏幕上移动。这避免了调用大量对象的draw方法。

如果每摞牌中只有一张牌是可见的,你可以使用叠牌。堆栈就像一个数组,每次只能从一端访问一个元素。然后你只调用堆栈上最上面一张牌的draw方法(peek)。然后处理顶部卡片,并使下一张卡片成为顶部(pop)。

一些教程和例子:

tutorialspoint.com

princeton.edu

或者谷歌一下"Java Stack",使用起来非常简单。

最新更新