<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 在MIDP應用程序中播放聲音

在MIDP應用程序中播放聲音

作者: 時(shí)間:2012-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏

//數據的讀取

本文引用地址:http://dyxdggzs.com/article/149129.htm

bgm=Media.getAudioClip(/bgm.mid);//背景音樂(lè )

ballSound=Media.getAudioClip(/ball.mid);//球反彈后的音效

blockSound=Media.getAudioClip(/block.mid);//球破碎的音效

bgm.addAudioListener(this);//增加AudioListener

ex.13

·

讀取音樂(lè )數據后,接下來(lái)進(jìn)行。BGM在游戲開(kāi)始的同時(shí)能夠,所以在A(yíng)udioCanvas類(lèi)的start方法中記述播放處理并能夠播放出來(lái)。

球的音效:用moveBall方法進(jìn)行下面反彈判斷時(shí),能夠播放音效。(ex.14)

//反彈

//碰邊壁后反彈

if(ballX0){

ballMoveX*=-1;

ballX=0;

//播放音效

ballSound.play();

}elseif(getWidth()

ballX=getWidth()-BALL_HEIGHT;

ballMoveX*=-1;

//播放音效

ballSound.play();

}

if(ballY0){

ballMoveY*=-1;

ballY=0;

//播放音效

ballSound.play();

}elseif(ballY>getHeight()){//球落下后

//游戲結束

state=GAME_OVER;

}

//碰上小棒反彈

if(ballY+BALL_HEIGHT>barY

ballX+BALL_WIDTH>barX

ballX

ballMoveY*=-1;

ballY=barY-BALL_HEIGHT;

if(barMoveX0){

ballMoveX-=2;

}elseif(barMoveX>0){

ballMoveX+=2;

}

//播放音效

ballSound.play();

}

ex.14

彩球的音效:用moveBall方法判定彩球的碰撞時(shí),如下記述并能夠播放。(ex.15)

//碰上彩球后反彈

for(inti=0;i

for(intj=0;j

if(block[i][j]){

if(ballX+BALL_WIDTH>i*BLOCK_WIDTH

ballX(i+1)*BLOCK_WIDTH){

if(ballY+BALL_HEIGHT>(j+1)*BLOCK_HEIGHT

ballY(j+2)*BLOCK_HEIGHT){

block[i][j]=false;

ballMoveY*=-1;

//播放音效

blockSound.play();

}

}

}

}

}

ex.15

■完成

下面是實(shí)際制作的程序一式。(BlockApplication.zip)

運行結果如下所示。

游戲進(jìn)行中游戲結束

游戲結束

總結

在本講的講解中能夠自由播放音樂(lè )數據了。因此,能夠制作成創(chuàng )造性的。但是,擴展時(shí),不能保存高分、數據等。在下講我們將學(xué)習如何使用固定存儲器保存數據的方法。

查看png格式的畫(huà)面文件

播放smf格式的音樂(lè )文件

http通信,socket通信

逆光、雙感光板控制

Sprite功能

ImageMap功能

各種各樣的制圖擴展功能

3D引擎

由于N820具有256Kbyte的較大存儲空間,所以能制作容量稍大、自由度較高的手機。另外,也能制作對應http、socket通信的自由度較高網(wǎng)絡(luò )應用程序。因此,也能夠搭載3D引擎、3D描畫(huà)。而且還能安裝N800對應的Sprite功能、ImageMap功能的描畫(huà)功能。

■與N800的比較

下表是N800和N820的比較。(表6)

項目N800N820

顯示屏尺寸180x162(縱x橫)255x240(縱x橫)

JAD文件尺寸最大2KB最大2KB

JAR文件尺寸最大50KB最大1MB

RMS尺寸最大10KB最大10KB

記錄存儲數量最大3records最大3records

通信協(xié)議只有httpHTTPandsocket

畫(huà)像文件PNGPNG

音樂(lè )文件SMF(format0)最大10KbyteSMF(format0)最大10Kbyte

表6

■NECN820Application模擬器

下面是模擬N820工作的模擬器,稱(chēng)為「NEC820ApplicationEmulator」。與以前我們所介紹的「NECN800ApplicationEmulator」在外觀(guān)上沒(méi)有什么區別。(5)

圖5

打開(kāi)模擬器,就是現在的手機畫(huà)面表示。與N800相比,手機設計多少有些變化,手機的內顯示屏變大了。下圖是用N820ApplicationEmulator制作的“泡泡龍”游戲畫(huà)面。“泡泡龍”游戲由于是假定在N800的屏幕上應用的。因此畫(huà)面尺寸要比N820中的內屏尺寸稍小。因此,彩球之間存有空隙。(6)

6

■總結

N820的優(yōu)點(diǎn)是具有256Kbyte的大容量存儲空間,而且使用3D圖表引擎、3D圖表應用程序、能夠制作成對應socket通信的TCP/IP網(wǎng)絡(luò )應用程序。對于應用開(kāi)發(fā)者而言,N820是一部制作JAVA應用程序非常有價(jià)值的終端。對于尋求高級機種的用戶(hù)而言,應該是一部高精細畫(huà)面、高功能的極大滿(mǎn)足用戶(hù)需要的終端。今后N820的用戶(hù)應該會(huì )大幅度增加的。


上一頁(yè) 1 2 3 4 下一頁(yè)

關(guān)鍵詞: 聲音 播放 應用程序 MIDP

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>