在MIDP應用程序中播放聲音
//聲音數據的讀取
本文引用地址:http://www.ex-cimer.com/article/149129.htmbgm=Media.getAudioClip(/bgm.mid);//背景音樂
ballSound=Media.getAudioClip(/ball.mid);//球反彈后的音效
blockSound=Media.getAudioClip(/block.mid);//球破碎的音效
bgm.addAudioListener(this);//增加AudioListener
ex.13
·播放
讀取音樂數據后,接下來進行播放。BGM在游戲開始的同時能夠播放,所以在AudioCanvas類的start方法中記述播放處理并能夠播放出來。
球的音效:用moveBall方法進行下面反彈判斷時,能夠播放音效。(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方法判定彩球的碰撞時,如下記述并能夠播放。(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
■完成
下面是實際制作的程序一式。(BlockApplication.zip)
運行結果如下所示。
游戲進行中游戲結束
游戲結束
總結
在本講的講解中能夠自由播放音樂數據了。因此,能夠制作成創(chuàng)造性的應用程序。但是,擴展應用程序時,不能保存高分、數據等。在下講我們將學習如何使用固定存儲器保存數據的方法。
查看png格式的畫面文件
播放smf格式的音樂文件
http通信,socket通信
逆光、雙感光板控制
Sprite功能
ImageMap功能
各種各樣的制圖擴展功能
3D引擎
由于N820具有256Kbyte的較大存儲空間,所以能制作容量稍大、自由度較高的手機應用程序。另外,也能制作對應http、socket通信的自由度較高網絡應用程序。因此,也能夠搭載3D引擎、3D描畫。而且還能安裝N800對應的Sprite功能、ImageMap功能的描畫功能。
■與N800的比較
下表是N800和N820的比較。(表6)
項目N800N820
顯示屏尺寸180x162(縱x橫)255x240(縱x橫)
JAD文件尺寸最大2KB最大2KB
JAR文件尺寸最大50KB最大1MB
RMS尺寸最大10KB最大10KB
記錄存儲數量最大3records最大3records
通信協(xié)議只有httpHTTPandsocket
畫像文件PNGPNG
音樂文件SMF(format0)最大10KbyteSMF(format0)最大10Kbyte
表6
■NECN820Application模擬器
下面是模擬N820工作的模擬器,稱為「NEC820ApplicationEmulator」。與以前我們所介紹的「NECN800ApplicationEmulator」在外觀上沒有什么區(qū)別。(5)
圖5
打開模擬器,就是現在的手機畫面表示。與N800相比,手機設計多少有些變化,手機的內顯示屏變大了。下圖是用N820ApplicationEmulator制作的“泡泡龍”游戲畫面。“泡泡龍”游戲由于是假定在N800的屏幕上應用的。因此畫面尺寸要比N820中的內屏尺寸稍小。因此,彩球之間存有空隙。(6)
6
■總結
N820的優(yōu)點是具有256Kbyte的大容量存儲空間,而且使用3D圖表引擎、3D圖表應用程序、能夠制作成對應socket通信的TCP/IP網絡應用程序。對于應用開發(fā)者而言,N820是一部制作JAVA應用程序非常有價值的終端。對于尋求高級機種的用戶而言,應該是一部高精細畫面、高功能的極大滿足用戶需要的終端。今后N820的用戶應該會大幅度增加的。
評論