第4章2D圖形繪制與多媒體android_第1頁(yè)
第4章2D圖形繪制與多媒體android_第2頁(yè)
第4章2D圖形繪制與多媒體android_第3頁(yè)
第4章2D圖形繪制與多媒體android_第4頁(yè)
第4章2D圖形繪制與多媒體android_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第4章章 2D圖形繪制與多媒體圖形繪制與多媒體本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo)n重點(diǎn):基本的圖形繪制函數(shù)2D圖形繪制框架View類下的回調(diào)函數(shù)n難點(diǎn):2D圖形繪制框架n隨著手機(jī)功能的強(qiáng)大,越來越多的應(yīng)用程序中加入了圖形的繪制。在應(yīng)用程序中添加圖形將會(huì)使得應(yīng)用程序更加生動(dòng)和直觀。4.1 Android圖形基礎(chǔ)nCanvas類相當(dāng)于繪畫中的畫布一樣。幾乎所有的繪制代碼,都要通過Canvas類實(shí)現(xiàn) 。nColor類表示顏色。在Android中用4個(gè)數(shù)字表示顏色ARGB(Alpha、Red、Green、Blue)分別表示透明度、紅色、綠色和藍(lán)色。 nPaint類相當(dāng)于繪畫的畫筆一樣。可以根據(jù)需要設(shè)定畫筆的顏

2、色和粗細(xì)等屬性。 4.1 Android圖形基礎(chǔ)ndrawLine,繪制直線 n函數(shù)原型:public void drawLine(float startX,float startY,float stopX,float stopY,Paint paint) 4.1 Android圖形基礎(chǔ)圖形基礎(chǔ)4.1 Android圖形基礎(chǔ)圖形基礎(chǔ) ndrawRect,繪制矩形n函數(shù)原型:npublic void drawRect(float left,float top,float right,float bottom,Paint paint) 。4.1 Android圖形基礎(chǔ)圖形基礎(chǔ)4.1 Android

3、圖形基礎(chǔ)圖形基礎(chǔ) nonDraw,當(dāng)窗口需要刷新時(shí),系統(tǒng)自動(dòng)調(diào)用此函數(shù)進(jìn)行窗口重新繪制,所有的繪制代碼都需要寫在onDraw函數(shù)里面。 nonSizeChanged,當(dāng)窗口新建或者窗口大小發(fā)生改變,系統(tǒng)自動(dòng)調(diào)用此函數(shù)獲取窗口大小。 nonKeyDown,當(dāng)用戶按下鍵盤時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用此函數(shù)。 4.1 Android圖形基礎(chǔ)圖形基礎(chǔ)public class pView extends Viewpublic pView(Context context) super(context);setFocusable(true);Overrideprotected void onSizeChanged(i

4、nt w,int h,int oldw,int oldh)Overrideprotected void onDraw(Canvas canvas) public boolean onKeyDown(int KeyCode,KeyEvent event) 繪制二維圖形n繪制一個(gè)圓和一個(gè)矩形。 4.2 動(dòng)畫實(shí)現(xiàn)動(dòng)畫實(shí)現(xiàn) n調(diào)用postInvalidate() 或Invalidate() 。系統(tǒng)將重新繪制整個(gè)屏幕區(qū)域的圖形。修改物體坐標(biāo)修改物體坐標(biāo)刷新窗口,重新繪制刷新窗口,重新繪制4.2 動(dòng)畫實(shí)現(xiàn)動(dòng)畫實(shí)現(xiàn) n創(chuàng)建定時(shí)器Timer mTimer = new Timer(); n創(chuàng)建一個(gè)定時(shí)器任務(wù) T

5、imerTask mTimerTask; mTimerTask = new TimerTask()Overridepublic void run() /把需要定期執(zhí)行的代碼放到run函數(shù)里面;n設(shè)定時(shí)間mTimer.schedule(mTimerTask,1,20); 4.2 動(dòng)畫實(shí)現(xiàn)動(dòng)畫實(shí)現(xiàn)n用鍵盤控制移動(dòng)獲取用戶按鍵獲取用戶按鍵根據(jù)按鍵修改坐標(biāo)根據(jù)按鍵修改坐標(biāo)判斷按鍵判斷按鍵刷新窗口,重新繪制刷新窗口,重新繪制4.2 動(dòng)畫實(shí)現(xiàn)動(dòng)畫實(shí)現(xiàn)n編碼實(shí)現(xiàn)動(dòng)畫,其中圓形可以自行移動(dòng),矩形可以由鍵盤控制移動(dòng) 4.3 音樂播放nAndroid理論上支持大部分的音頻格式,比如WAV、AAC、MP3、AMR、

6、MIDI、OGG等。實(shí)際上只有OGG、MP3和WAV格式的音頻可以在模擬器上面正常的播放。 4.3給游戲加上背景音樂給游戲加上背景音樂n創(chuàng)建媒體播放器import android.media.MediaPlayer; public class pingpang extends Activity private static MediaPlayer mp = null; 4.3給游戲加上背景音樂給游戲加上背景音樂n添加播放函數(shù)public class pingpang extends Activity public static void play(Context context,int res

7、ource)mp = MediaPlayer.create(context,resource); mp.setLooping(true); /指定是否重復(fù)播放mp.start(); /開始播放4.3給游戲加上背景音樂給游戲加上背景音樂n調(diào)用play函數(shù)進(jìn)行播放public void onCreate(Bundle savedInstanceState) pview = new pView(this); super.onCreate(savedInstanceState);setContentView(pview); pview.requestFocus(); play(this,R.raw.g

8、ame); 4.4 視頻播放視頻播放nAndroid SDK對(duì)視頻支持的格式如下:nMP4(MPEG_4低比特率);nH263;nH264(AVC)n在Windows計(jì)算機(jī)上,唯一可靠工作的格式是MP4,建議盡量采用這種格式。 4.4 視頻播放視頻播放nAndroid的MediaPlayer類的視頻處理與音頻處理方式一樣,唯一差別是需要為視頻創(chuàng)建一個(gè)用于繪制圖形的Surface。可以用start()和stop()方法控制視頻的播放。n還有一種更簡(jiǎn)單的方法將視頻嵌入到應(yīng)用程序:VideoView類。 實(shí)訓(xùn)實(shí)訓(xùn):視頻播放器軟件視頻播放器軟件 本章小結(jié)本章小結(jié)n本章主要介紹了Android平臺(tái)下的二維圖形編程的相關(guān)知識(shí)。圖形編程在手機(jī)應(yīng)用程序開發(fā)中有著重要的地位,幾乎所有的應(yīng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論