android2D游戏编程总结

来源:互联网 发布:单片机继电器器件代码 编辑:程序博客网 时间:2024/06/05 09:11

            在android2D游戏编程中所要用到的主要类为 SurfaceView  Canvas  Paint

    SurfaceView其实为两个View类组成,进行交替画图。要操作SurfaceView则需要实现接口Callback接口。

     SurfaceHolder接口控制SurefaceView中的画布,即如果需要使用画布Canvas,则需要由SurefaceHolder来得到。

     SurefaceView中有一个getHolder方法来得到一个SurefaceHolder对象,并且SurefaceHolder对象要调用addCallback(CallBack callBack)方法才能真正使用Canvas。调用之后再通过SurefaceHolder中的lockCanvas()方法得到一个Canvas的对象,之后就可在该画布上画图了。

        例子:

              public  Class MySurefaceView extends SurefaceView implements CallBack{

                        private Canvas canvas; private SurefaceHolder holder;

                       public MySurefaceView(Context context){

                                          super(context);

                                         holder=getHolder();                    //得到SurefaceHolder对象

                                         holder.addCallback(this);           

                                         canvas=holder.lockCanvas();  、//得到canvas

                                          holder.unlockCanvas();              //在画完之后,释放canvas    

                                }

                         }

   

              画图的各种机制,首先Canvas相当于一张画布,由其来设置画图的颜色,而Paint相当于画笔,可以设置图形的透明度等属性。SurefaceView继承自View,但是SurefaceView画图比View更流畅。View中有一个方法onDraw(Canvas canvas);调用该方法可以直接得到一个canvas画布,而SurefaceView则需要通过上述的方法得到。





Marvel Proto.io Concept.ly    FluidUI 各种UI原型工具








1 0
原创粉丝点击