天天看點

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);

繼續閱讀