版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第4章章 2D圖形繪制與多媒體圖形繪制與多媒體本章學習目標本章學習目標n重點:基本的圖形繪制函數(shù)2D圖形繪制框架View類下的回調(diào)函數(shù)n難點:2D圖形繪制框架n隨著手機功能的強大,越來越多的應(yīng)用程序中加入了圖形的繪制。在應(yīng)用程序中添加圖形將會使得應(yīng)用程序更加生動和直觀。4.1 Android圖形基礎(chǔ)nCanvas類相當于繪畫中的畫布一樣。幾乎所有的繪制代碼,都要通過Canvas類實現(xiàn) 。nColor類表示顏色。在Android中用4個數(shù)字表示顏色ARGB(Alpha、Red、Green、Blue)分別表示透明度、紅色、綠色和藍色。 nPaint類相當于繪畫的畫筆一樣??梢愿鶕?jù)需要設(shè)定畫筆的顏
2、色和粗細等屬性。 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,當窗口需要刷新時,系統(tǒng)自動調(diào)用此函數(shù)進行窗口重新繪制,所有的繪制代碼都需要寫在onDraw函數(shù)里面。 nonSizeChanged,當窗口新建或者窗口大小發(fā)生改變,系統(tǒng)自動調(diào)用此函數(shù)獲取窗口大小。 nonKeyDown,當用戶按下鍵盤時,系統(tǒ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繪制一個圓和一個矩形。 4.2 動畫實現(xiàn)動畫實現(xiàn) n調(diào)用postInvalidate() 或Invalidate() 。系統(tǒng)將重新繪制整個屏幕區(qū)域的圖形。修改物體坐標修改物體坐標刷新窗口,重新繪制刷新窗口,重新繪制4.2 動畫實現(xiàn)動畫實現(xiàn) n創(chuàng)建定時器Timer mTimer = new Timer(); n創(chuàng)建一個定時器任務(wù) T
5、imerTask mTimerTask; mTimerTask = new TimerTask()Overridepublic void run() /把需要定期執(zhí)行的代碼放到run函數(shù)里面;n設(shè)定時間mTimer.schedule(mTimerTask,1,20); 4.2 動畫實現(xiàn)動畫實現(xiàn)n用鍵盤控制移動獲取用戶按鍵獲取用戶按鍵根據(jù)按鍵修改坐標根據(jù)按鍵修改坐標判斷按鍵判斷按鍵刷新窗口,重新繪制刷新窗口,重新繪制4.2 動畫實現(xiàn)動畫實現(xiàn)n編碼實現(xiàn)動畫,其中圓形可以自行移動,矩形可以由鍵盤控制移動 4.3 音樂播放nAndroid理論上支持大部分的音頻格式,比如WAV、AAC、MP3、AMR、
6、MIDI、OGG等。實際上只有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); /指定是否重復播放mp.start(); /開始播放4.3給游戲加上背景音樂給游戲加上背景音樂n調(diào)用play函數(shù)進行播放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對視頻支持的格式如下:nMP4(MPEG_4低比特率);nH263;nH264(AVC)n在Windows計算機上,唯一可靠工作的格式是MP4,建議盡量采用這種格式。 4.4 視頻播放視頻播放nAndroid的MediaPlayer類的視頻處理與音頻處理方式一樣,唯一差別是需要為視頻創(chuàng)建一個用于繪制圖形的Surface??梢杂胹tart()和stop()方法控制視頻的播放。n還有一種更簡單的方法將視頻嵌入到應(yīng)用程序:VideoView類。 實訓實訓:視頻播放器軟件視頻播放器軟件 本章小結(jié)本章小結(jié)n本章主要介紹了Android平臺下的二維圖形編程的相關(guān)知識。圖形編程在手機應(yīng)用程序開發(fā)中有著重要的地位,幾乎所有的應(yīng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年開發(fā)區(qū)綜合招商代理合作合同版
- 繪本故事托班課程設(shè)計
- 英語初中閱讀課課程設(shè)計
- 稅收籌劃課程設(shè)計進度
- 主治醫(yī)師資格(全科醫(yī)學301)考試題庫(全真題庫)
- 美麗小蠻腰雕刻課程設(shè)計
- 職業(yè)課程設(shè)計中的問題
- 游戲美術(shù)課程設(shè)計
- 職工培訓課程設(shè)計
- 汽車行業(yè)維修技能培訓總結(jié)
- 2024新一代變電站集中監(jiān)控系統(tǒng)系列規(guī)范第2部分:設(shè)計規(guī)范
- 財富管理課程設(shè)計
- 快樂寒假安全先行寒假安全教育主題班會課件
- 燃燒仿真.燃燒仿真軟件:OpenFOAM:湍流燃燒仿真原理
- 2024-2025學年七年級語文上冊第一學期 期末綜合模擬測試卷(人教版)
- 浙江省臺金七校2023-2024學年高一下學期4月期中考試英語試題
- 藍色卡通風胃腸減壓護理
- 小學單位換算-體積
- 叉車自行檢查記錄表
- 2024新安全生產(chǎn)法知識考試題庫及答案大全
- 專題5 書面表達-2023-2024學年譯林版五年級上冊英語期末專題復習
評論
0/150
提交評論