<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>


    構建J2ME游戲:用TiledLayer構造背景

    在這一節(jié)中,我們要使用TiledLayer類為游戲添加一個背景。游戲界面分為三個區(qū)域:頂部表示天空,couple小精靈所在的中部是地面,底部是大海。每個區(qū)域分別使用一個32*32像素的不同顏色圖片進行填充,填充的工作由TiledLayer類完成。

    首先將屏幕分成32*32的小方格,行和列的索引都從0開始,如圖4。

    j2me3_figure4.gif

    ?????????? 圖 4. 均勻分割屏幕

    (0,0)到(1,4)的方格表示天空,(2,0)到(2,4)表示地面,(3,0)到(4,4)表示海面。我們用圖5中的圖片填充對應方格。

    tiledlayer1.gif

    圖 5. 背景圖片

    背景圖片的第一部分(32*32)表示地面,第二部分表示大海,第三部分表示天空。使用TiledLayer時,圖片的索引是從1開始的(不是0,所以地面圖像的位置是1,大海是2,天空是3)。TiledLayer類可以將圖5分割成三張圖片,然后用每張圖片填充對應的方格。在這里,我們用三個 32*32大小圖片填充5行5列的背景,部分代碼如下:

    //?加載圖片
    backgroundImg?=?Image.createImage("/tiledLayer1.gif");

    //?創(chuàng)建TiledLayer背景
    background?=?new?TiledLayer(5,?5,?backgroundImg,?32,?32);


    TiledLayer構造器的前兩個參數(shù)表示背景大小,第三個是圖像,最后兩個是每個格子的長和寬。TiledLayer類將根據(jù)格子的大小切割圖像,然后放到背景的對應方格中。

    最后剩下的就是設置每個方格里放置的圖像了。創(chuàng)建背景的所有代碼都在createBackground()方法里,如下所示。在MyGameCanvas 類的start()里調用這個方法,然后在buildGameScreen()方法的最后添加background.paint(g),這使得 TiledLayer實例將自己繪制到屏幕上。

    //?使用TiledLayer創(chuàng)建背景
    private?void?createBackground()?throws?IOException
    {
    ????
    //?加載圖片
    ????backgroundImg?=?Image.createImage("/tiledLayer1.gif");

    ????
    //?創(chuàng)建tiledLayer背景
    ????background?=?new?TiledLayer(5,?5,?backgroundImg,?32,?32);

    ????
    //?布置圖像的數(shù)組
    ????int[]?cells?=?{
    ????????
    3,?3,?3,?3,?3,??//?天空
    ????????3,?3,?3,?3,?3,??//?天空
    ????????1,?1,?1,?1,?1,??//?地面
    ????????2,?2,?2,?2,?2,??//?大海
    ????????2,?2,?2,?2,?2???//?大海
    ????};

    ????
    //?設置背景
    ????for(int?i?=?0;?i?<?cells.length;?i++)
    ????{
    ????????
    int?column?=?i?%?5;
    ????????
    int?row?=?(i?-?column)?/?5;
    ????????background.setCell(column,?row,?cells[i]);
    ????}

    ????
    //?設置背景位置
    ????background.setPosition(GAME_ORIGIN_X,?GAME_ORIGIN_Y);
    }


    最終效果如圖6。

    j2me3_figure6.gif

    ??? 圖 6. 添加了背景的游戲截屏

    原文見:http://today.java.net/pub/a/today/2005/07/07/j2me3.html?page=4


    版權所有 羅明
    posted on 2005-12-16 19:58 羅明 閱讀(1169) 評論(0)  編輯  收藏 所屬分類: JavaJ2ME
     
    主站蜘蛛池模板: 国产精品福利在线观看免费不卡| 国产成人亚洲精品91专区高清 | 理论秋霞在线看免费| 日韩精品视频免费观看| 亚洲精品中文字幕无码A片老| 丁香花免费完整高清观看| 精品亚洲成A人无码成A在线观看 | 亚洲日本成本人观看| 午夜精品在线免费观看| 亚洲第一成年免费网站| 又粗又大又长又爽免费视频| 色多多免费视频观看区一区| 亚洲精品视频免费观看| 免费一级毛片在线播放视频| 亚洲大片在线观看| 在线精品一卡乱码免费| 亚洲精品精华液一区二区| 免费国产成人午夜电影| 2022国内精品免费福利视频 | 中文字幕av无码无卡免费| 亚洲高清国产拍精品熟女| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 成人电影在线免费观看| 亚洲人成网站在线播放影院在线| 免费国产在线视频| 亚洲国产精品乱码在线观看97| 毛片视频免费观看| 日韩毛片免费一二三| 亚洲AV综合色区无码一区爱AV| 亚洲第一网站免费视频| 久久精品国产亚洲AV天海翼| 亚洲视频人成在线播放| 91热久久免费精品99| 亚洲狠狠色丁香婷婷综合| 亚洲中文字幕久久精品无码APP| 少妇人妻偷人精品免费视频| 亚洲妇女熟BBW| 亚洲中文字幕在线观看| 国产成人精品久久免费动漫| 视频一区二区三区免费观看| 水蜜桃亚洲一二三四在线 |