新聞中心

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

        在MIDP應用程序中播放聲音

        作者: 時間:2012-05-07 來源:網絡 收藏

        }

        /**

        *描繪處理

        */

        protectedvoidpaint(Graphicsg){

        g.setColor(255,255,255);

        g.fillRect(0,0,getHeight(),getWidth());

        g.setColor(0,0,0);

        g.drawString(MusicPlay?,50,52,Graphics.TOP|Graphics.LEFT);

        g.drawString(

        channel=+a.getChannel(),

        30,

        64,

        Graphics.TOP|Graphics.LEFT);

        g.drawString(

        lapsedtime=+a.getLapsedTime(),

        30,

        76,

        Graphics.TOP|Graphics.LEFT);

        g.drawString(

        tempo=+a.getTempo(),

        30,

        88,

        Graphics.TOP|Graphics.LEFT);

        g.drawString(

        time=+a.getTime(),

        30,

        100,

        Graphics.TOP|Graphics.LEFT);

        }

        /**

        *命令事件的處理

        */

        publicvoidcommandAction(Commandc,Displayabled){

        System.out.println(test);

        if(c.equals(START)){

        a.play();

        }elseif(c.equals(STOP)){

        a.stop();

        }

        }

        /**

        *線程的處理

        *刷新查看

        */

        publicvoidrun(){

        while(true){

        repaint();

        try{

        Thread.sleep(500);

        }catch(Exceptione){

        }

        }

        }

        }

        ex.2

        接受表示音樂結束的事件后,根據明確的開始音樂菜單可以無限循環地音樂。下面的演示詳細記述了上述例子中的audioAction方法,能夠實現無限循環播放。(ex.3)

        /**

        *音頻事件的處理

        */

        publicvoidaudioAction(AudioClipsound,intevent,intparam){

        if(sound==a){

        if(event==AudioListener.AUDIO_COMPLETE){

        sound.play();

        }

        }

        }

        ex.3

        制作

        接下來制作實際的發聲

        本講中制作的是簡單的“泡泡龍”游戲。

        ■游戲方法

        移動小棒接住反彈的球使其不掉下去,使上方的彩球逐漸消失的游戲。彩球完全消失并清除后,球再落下則此游戲通過。

        ■準備工作

        準備游戲必備的圖片和音效。

        準備以下圖片。

        圖1球的圖片

        圖2小棒的圖片

        圖3彩球的圖片

        ·背景音樂(bgm.mid)

        ·球反彈時的音效(ball.mid)

        ·彩球破碎時的音效(block.mid)

        ■設計

        以下是狀態連接圖(4)

        本講中為了簡單化,在啟動的同時立刻就啟動游戲。形成游戲開始、球落下后游戲結束、全部清除彩球后游戲過關。

        Figure4

        ■制作應用程序

        現在我們按照以下順序制作應用程序。

        1.類結構

        2.變量、常量的定義

        3.查看圖片和音效

        4.使圖片運動

        5.球的反彈

        6.音樂的播放

        1.類結構

        下表內容是類結構。(表5)

        360截圖20120507113322299.jpg

        表5

        2.變量、常量的定義

        將下面的應用變量、定量作為BlockCanvas例子的屬性并定義。(ex.4)

        //狀態設定

        privateintstate;//狀態

        privatefinalintACTIVE=1;

        privatefinalintGAME_OVER=2;

        privatefinalintCLEAR=3;

        //彩球的設定

        privatefinalintBLOCK_H=7;//彩球橫向的個數

        privatefinalintBLOCK_V=5;//彩球縱向的個數

        privatefinalintBLOCK_WIDTH=getWidth()/BLOCK_H;

        privatefinalintBLOCK_HEIGHT=BLOCK_WIDTH/2;

        privatebooleanblock[][]=newboolean[BLOCK_H][BLOCK_V];

        privateintblockCount;//彩球個數

        //小棒的設定

        privatefinalintBAR_HEIGHT=11;

        privatefinalintBAR_WIDTH=23;

        privateintbarX=0;

        privateintbarY=getHeight()-BAR_HEIGHT;

        privateintbarMovCodeExample=0;

        //球的設定

        privatefinalintBALL_HEIGHT=10;

        privatefinalintBALL_WIDTH=10;

        privateintballX;

        privateintballY;

        privateintballMovCodeExample=5;

        privateintballMoveY=5;

        privateThreadth;

        //畫面類

        privateImagebarImg=null;

        privateImageballImg=null;

        privateImageblockImg=null;

        //音效類

        privateAudioClipbgm;//Backgroundmusic

        privateAudioClipballSound;//Soundofbouncingball

        privateAudioClipblockSound;//Soundofdestroyingblocks

        ex.4

        3.查看圖片和音效

        查看準備好的圖片和音效。BlockCanvas的構造函數內分別讀取小棒、球、彩球的圖片。(ex.5)

        //讀取圖片

        try{

        barImg=Image.createImage(/bar.png);

        ballImg=Image.createImage(/ball.png);

        blockImg=Image.createImage(/block.png);

        }catch(CodeExampleceptione){

        e.printStackTrace();

        }

        ex.5

        能查看讀取后的圖片。

        彩球在圖中的分配為橫7縱5,讀取彩球圖片并描畫在畫面中。用旗表示彩球的狀態。保持原來的排列。將一個一個的彩球使用原來的排列并計算出坐標,安排在畫面中。(ex.6)

        //查看彩球

        g.setColor(0,0,255);

        for(inti=0;i

        for(intj=0;j



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 喀什市| 宜宾县| 定安县| 济源市| 什邡市| 宁陕县| 连南| 盐山县| 内丘县| 鲁甸县| 新密市| 通辽市| 垫江县| 柘荣县| 天津市| 视频| 汶上县| 河北区| 上饶市| 久治县| 北安市| 嘉禾县| 亚东县| 山阴县| 绍兴市| 江门市| 石棉县| 石嘴山市| 阿拉善左旗| 左贡县| 星座| 凤山市| 房产| 宜川县| 且末县| 洛扎县| 海丰县| 遂昌县| 新绛县| 富顺县| 招远市|