我一直致力于一个在背景中具有滚动环境的概念验证游戏(2D)。我有一个名为roadTile的自定义类对象,它基本上是一个200px高的块,有一个要绘制的图片和一些物理。我一次将瓷砖存储在LinkedList 5中。我有一个主循环,负责移动所有内容并检查冲突。假设循环每50ms执行一次(由计时器控制),它通过测量最后一次运行的长度来保持速率固定,然后从睡眠时间中扣除它。
这通常运行良好,循环运行时间不到一毫秒,但是当我启动程序时,它在前2-7次后“窒息”。我删除了旧瓷砖,并在列表底部放了一个新瓷砖。在调用add(new roadTile())时,程序停止20-400ms,这是计算机时间的千年,并且最重要的是,行为不一致。有时它有时会工作正常。
我很无知如何消除这种想法?
答案 0 :(得分:1)
确保在开始使用图形之前缓存所有内容。这可能是您延误的原因。