我一直在看很多关于Android游戏开发的教程和博客,我对实现线程的最佳方法有疑问。
一些例子,比如Lunar Lander,有一个继承的SurfaceView类(LunarView),里面有另一个类(LunarThread),它似乎处理更新并绘制到SurfaceView。
我在网上找到的其他示例有一个非常基本的线程,它有一个run()循环,并调用在继承的SurfaceView类中编码的update和draw方法。 SurfaceView类中的update / draw方法还为其他类中的游戏中使用的对象调用update / draw方法。
每个似乎都有效,但我不确定哪种方法最好。出于某种原因,我也无法在课堂上上课。这是正常的吗?
感谢您的帮助!
答案 0 :(得分:1)
我认为这不是最好的做法。 LunarLander是作为示例项目创建的,以便了解如何使用SurfaceView。但是,如果你将调用线程保留在另一个类中,它仍然会很奇怪。由于该类只绑定到SurfaceView类。我已经使用LunaLander类型实现进行了开发,它给了我很好的结果。
我认为你在编译和运行级别中执行它的方式并不重要,只有在其他人理解你的代码的层面才有意义。