上期已经和大家讲解了做游戏的前提要求,今天要给大家讲述的是游戏界面如何绘制。
一:如何获取到surface:
(1)首先我们需要获取一个surface,我们先通过surfaceView获取一个surfaceHolder,然后在通过surfaceHolder拿到surface,但是由于surfaceHolder已经具备surface的一些功能,就可以直接通过surfaceHolder去实现了。
(2)surface中的方法:
①lockCanvas:锁定画布,获取一个画布,绘制界面
②绘制界面
③unlockCanvasAndPost:解锁画布并提交,
为何需要锁定和解锁:其实也是避免了一些安全隐患,比如说多个线程同时修改界面,就有可能导致界面有些错乱,所以就规定了必须先锁定画布,然后再解锁画布。
(3)surfaceHolder里面具备了和surface一样的方法,一样可以锁定画布,解锁画布,其实这个surfaceHolder的里面就是通过surface实现的,通过下面的代码,我们就绘制出来如下的一个矩形
二:绘制笑脸和小人:
(1)首先我们看这个小小的游戏,摁住按钮可以使得小人向下移动,然后随便点击屏幕哪里,这个小人就可以发射笑脸。然后我们再来图解一下按钮,小人和笑脸,这三个对象我们都可以看作是一个精灵(Sprite),在游戏中我们都有各种各样的精灵,这个精灵泛指在游戏中最小的单位,他们所拥有的共性的方法就是
①显示图片
②都有一个显示的位置
③画自己
(2)我们先新建一个Sprite类作为一个基类,然后将他们的三个共性的方法表示出来,