在使用Slick 2D API的Java中,我构建了一个以位图为世界的游戏。如果位图的像素的alpha为0,则认为角色可以自由漫游的空气;否则,它是坚实的,他们无法通过。
在我的电脑上,我以1%的CPU使用率运行它。然后,当我尝试在我的笔记本电脑上运行它时,它的核心达到顶峰并以我的CPU使用率的50%运行。
在做完测试后,我发现扩展函数调用是获取图像的像素Image.getColor(x, y)
。这是有趣的部分。我使用Allegro 5在C ++中重建了这个相同的例子,在我的笔记本电脑上它以3%而不是50%运行。
是否有更有效的方法从Slick 2D中的Image获取像素?
答案 0 :(得分:1)
将Image
对象转换为像素值数组,并从数组中获取值。过多的方法调用会大大减慢您的程序。