最近花了一些时间去看一些小游戏的东西,android中可以通过SurfaceView来实现绘制,并有相应的生命周期的方法,如
还有一些是绘图相关的@Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceCreated(SurfaceHolder holder) { logs("surfaceCreated()"); mDrawThread.isRun = true; mDrawThread.start(); } @Override public void surfaceDestroyed(SurfaceHolder holder) { mDrawThread.isRun = false; logs("surfaceDestroyed()"); }c = mHolder.lockCanvas(); //... mHolder.unlockCanvasAndPost(c);
这些方法本身与游戏层次关系很少,更多的是对系统方法的被正确执行的保证。
- 可以通过继承,把这些非业务逻辑封装起来,放在父类。
- 父类中暴露出抽象方法用来给子类调用,如
public abstract void onDrawGame(Canvas c, Paint p);
本文探讨了在Android中使用SurfaceView进行游戏开发的基本方法。通过SurfaceView可以实现游戏画面的绘制与更新,文中详细介绍了surfaceCreated、surfaceChanged、surfaceDestroyed等生命周期方法的作用及其实现细节。
13万+

被折叠的 条评论
为什么被折叠?



