现在答案不必以我正在使用的编程语言(Java)为中心,这实际上是一个普遍的问题。我正在制作一个2d平台游戏,我正在自动生成一个拥有超过30000个瓷砖(300x100地图)的地形。现在,这显然导致如此多的滞后和闪烁。
我能想到的阻止这种情况的一种方法是只在屏幕上移动物体,但这对我来说真的很难想。
这是一个侧卷轴,这个家伙一直移动到中间,当他在中间时,平台开始移动,那就是它变得非常密集。每次摆动计时器滴答时,它必须为整个30000个瓷砖做循环。
有人愿意开导我吗?只是在正确的方向上推动会很棒。
谢谢!
答案 0 :(得分:1)
你可能会在MVC上使用一些变体,除了移动模型中的所有东西 - 你的程序的非GUI逻辑表示 - 你需要移动,但开销因为这不应该是巨大的。您只需要在视图中移动内容 - 程序的GUI部分 - 位于视图的视口内(在屏幕上),这将是地图上对象的一个非常有限的子集。