天天看点

android游戏开发(1)

首先让我们理解下Android平台中的显示类是View,但是还提供了底层图形类android.graphics,今天所说的这些均为graphics底层图形接口。

深入理解Android中View相关博文

http://www.incoding.org/admin/archives/179.html#5.4 onSizeChanged(int, int, int,int)

  Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低。我们理解为一种存储对象比较好。

  Drawable - 作为Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF、PNG、JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变、图形等。

  Canvas - 名为画布,我们可以看作是一种处理过程,使用各种方法来管理Bitmap、GL或者Path路径,同时它可以配合Matrix矩阵类给图像做旋转、缩放等操作,同时Canvas类还提供了裁剪、选取等操作。

   Paint - 我们可以把它看做一个画图工具,比如画笔、画刷。他管理了每个画图工具的字体、颜色、样式。

  如果涉及一些Android游戏开发、显示特效可以通过这些底层图形类来高效实现自己的应用。

1、Paint的设置方法

setAntiAlias: 设置画笔的锯齿效果 setColor: 设置画笔颜色
setARGB:  设置画笔的a,r,g,b值(a为透明度) setAlpha:  设置Alpha值(设置透明度)
setTextSize: 设置字体尺寸 setStyle:  设置画笔风格,空心或者实心。
setStrokeWidth: 设置空心的边框宽度 getColor:  得到画笔的颜色
getAlpha:  得到画笔的Alpha值

drawText(Stringtext, float x, float y(基准线), Paint paint)  我们在画布中绘制文本的时候,会调用Canvas.drawText(String text, float x, float y, Paint paint)这个方法,其中y的坐标就是上图中baseline的y坐标,所以,如果我们只是简单地把drawText方法中的y设置为控件高度的1/2是不准确的,如果这样做的话会发现文本整体是位于画布的上半部分的,因为baseline下面的文本部分是很小的。  

    正确的做法是通过一些合理的换算使得文本的y坐标(baseline的y坐标)位于控件的下半部分区域。

canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher), 100, 300, paint);

继续阅读