我需要一些关于有效使用画布和矩阵的建议
我想用普通的视图,画布和矩阵来做。不是表面视图,不是opengl
“已经在工作”的方法是:
但是,如果B0足够大,则旋转操作非常昂贵,因为它适用于整个位图。此外,它意味着每次都创建一个中间位图。
我需要在游戏循环中重复这个步骤,这个矩形(srcRect)可以旋转和翻译,所以它必须是一个“便宜”的操作来实现这个
我的问题:使用画布,矩阵和“普通”视图,在效率方面是否有更好的方法?
修改 为了更好地说明我的意思,我添加了一些照片。
B0,带有旋转的选区
答案 0 :(得分:0)
是。通过canvas.rotate
旋转您将要绘制的画布。然后通过drawCanvas绘制您希望的位图子集。这将具有绘制旋转位图的效果,而无需旋转位图或创建中间图。如果你想绘制一些旋转的东西和一些未旋转的东西,保存矩阵(通过canvas.save),旋转它,绘制位图,然后恢复(通过canvas.restore)