色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

          在MIDP應(yīng)用程序中播放聲音

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

          //數(shù)據(jù)的讀取

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

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

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

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

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

          ex.13

          ·

          讀取音樂數(shù)據(jù)后,接下來進(jìn)行。BGM在游戲開始的同時能夠,所以在AudioCanvas類的start方法中記述播放處理并能夠播放出來。

          球的音效:用moveBall方法進(jìn)行下面反彈判斷時,能夠播放音效。(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()){//球落下后

          //游戲結(jié)束

          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)

          運行結(jié)果如下所示。

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

          游戲結(jié)束

          總結(jié)

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

          查看png格式的畫面文件

          播放smf格式的音樂文件

          http通信,socket通信

          逆光、雙感光板控制

          Sprite功能

          ImageMap功能

          各種各樣的制圖擴展功能

          3D引擎

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

          ■與N800的比較

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

          項目N800N820

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

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

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

          RMS尺寸最大10KB最大10KB

          記錄存儲數(shù)量最大3records最大3records

          通信協(xié)議只有httpHTTPandsocket

          畫像文件PNGPNG

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

          表6

          ■NECN820Application模擬器

          下面是模擬N820工作的模擬器,稱為「NEC820ApplicationEmulator」。與以前我們所介紹的「NECN800ApplicationEmulator」在外觀上沒有什么區(qū)別。(5)

          圖5

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

          6

          ■總結(jié)

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


          上一頁 1 2 3 4 下一頁

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

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉