1

SurfaceView:据我所知,SurfaceView 在不同的线程( using SurfaceHolder.Callback())上绘图。

在一个 Android 游戏项目中,我在SurfaceView课堂上看到:他们在同一个课程中处理物理(位置,...),但是当处理图形(绘制到屏幕)时,他们使用另一个线程来处理。Android ExampleLandern也使用了这个模型。

请告诉我这个模型有哪些优点?(意味着,使用另一个线程绘制到屏幕上,而不是在 SurfaceView 的同一线程上绘制)。

谢谢 :)

4

1 回答 1

2

根据我有限的经验:

如果你在一个单独的线程中绘制,你可以在“主”线程中进行更复杂的计算等时保持“背景动画”(移动水、鹅肝、燃烧的火)。

如果您在一个线程中完成所有操作,那么您在绘图时基本上会阻止所有运动,反之亦然,每次运动/计算都会阻止绘图。

优势取决于您想要制作的游戏。如果你制作一个没有任何特殊动画和效果的棋盘游戏,我猜你最好用一个线程。

于 2012-07-17T08:50:14.543 回答