Android 3D游戲開(kāi)發(fā)之游戲中的聲音
掃描二維碼
隨時(shí)隨地手機(jī)看文章
介紹游戲中的聲音、音效、存儲(chǔ)技術(shù),以及2D場(chǎng)景繪制的利器—SurfaceView
按照聲音的功能不同,可以把它分為音樂(lè)和音效兩部分。
SoundPool類用于管理和播放應(yīng)用程序的聲音資源。
構(gòu)造方法:
public SoundPool(int maxStreams,int StreamType,int srcQuality)
load()方法,play()方法,pause()方法
Android播放音樂(lè)常用類MediaPlayer,聲音的控制需要用到的類AudioManage
width:fill_parent;
height:wrap_content
水平方向充滿父窗口,豎直方向與內(nèi)容等高
SQLite是一款輕型的數(shù)據(jù)庫(kù),其遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),它最初就是為嵌入式設(shè)計(jì)的,其占用資源非常低,在嵌入式設(shè)備中,可能只需要幾百KB的內(nèi)存就夠了,同時(shí)SQLite還支持事務(wù)處理功能,根據(jù)相關(guān)資料可知SQLite的處理速度比Mysql、PostgreSQL等著名的開(kāi)源數(shù)據(jù)庫(kù)管理系統(tǒng)更快。
操作SQLite的類Android.database.sqlite.SQLiteDatabase以及SQLiteOpenHelper
SQLiteDatabase提供了大量方法供操作數(shù)據(jù)庫(kù)使用insert(),update(),query()
SQLiteOpenHelper類是一個(gè)SQLiteDatabase的輔助類,通過(guò)它可以更加方便地創(chuàng)建和鏈接數(shù)據(jù)庫(kù)
onCreate(),onUpgrade(),getReadableDatabase(),getWritableDatabase()
SurfaceView繼承自View,但它與View不同,View是在UI的主線程中更新畫(huà)面,而SurfaceView是在一個(gè)新的線程中更新畫(huà)面。View的特性決定了其不適合做動(dòng)畫(huà),因?yàn)槿绻庐?huà)面時(shí)間過(guò)長(zhǎng),那么主UI線程就會(huì)被正在畫(huà)
的函數(shù)阻塞。Android中常用SurfaceView顯示動(dòng)畫(huà)效果。
新建一個(gè)類,然后繼承SurfaceView,同時(shí)實(shí)現(xiàn)SurfaceHolder.Callback接口,就創(chuàng)建了帶有生命周期回調(diào)函數(shù)的并實(shí)現(xiàn)了SurfaceView的類。
surfaceCreated(),surfaceChanged(),surfaceDestroyed(),onDraw()