我一直在做一个小的概念验证游戏,在背景中有一个滚动的环境(2D)。我有一个名为roadTile的自定义类对象,它基本上是一个200px高的积木,上面有一张可以绘画的图片和一些物理知识。我一次将磁贴存储在LinkedList 5中。我有一个主循环,负责移动所有东西并检查冲突。循环应该每50ms执行一次(由计时器控制),它通过测量最后一次运行的长度,然后从睡眠时间中扣除它来保持速率不变。
这通常运行得很好,循环运行时间不到一毫秒,但是当我启动程序时,它在前2-7次之后就“卡住”了。我去掉了旧的瓷砖,在列表的底部放了一个新的瓷砖。在调用add (新的roadTile())时,程序会暂停20-400ms,这是计算机时间的千分之一,更糟糕的是,行为并不一致。有时它工作得很好,有时却不是。
我完全不知道如何消除这个问题,有什么想法吗?
发布于 2012-10-14 19:33:21
在开始处理图形之前,请确保缓存所有内容。这可能是您延迟的原因。
https://stackoverflow.com/questions/12881798
复制相似问题