SurfaceView
:据我所知,SurfaceView正在使用不同的线程(使用SurfaceHolder.Callback()
)。
在一个Android游戏项目中,我在SurfaceView
类中看到:它们在同一个类中处理物理(位置,...),但是当处理图形(绘图到屏幕)时,它们使用另一个线程来处理。 Android示例Landern
也使用了此模型。
请告诉我这个型号有哪些优点? (表示使用另一个线程绘制到屏幕而不是在SurfaceView的同一个线程上绘图)。
谢谢:)
答案 0 :(得分:2)
从我有限的经历:
如果你绘制一个单独的线程,你可以在“主”线程中进行更复杂的计算等时保持“背景动画”(移动水,gras,燃烧火焰)。
如果你在一个线程中完成所有操作,你基本上会在绘图时阻止所有移动,反之亦然,每个移动/计算块都会绘制。
优势取决于您想制作的whtt游戏。如果你制作一个没有任何特殊动画和效果的棋盘游戏,我猜你最好选择一个主题。