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

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

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

    隨筆-30  評論-123  文章-0  trackbacks-0

    2 ?? Sprite 簡介 ?

    概述
    ?
    Sprite( 精靈 ) 本質上其實就是 MIDP 圖像。事實上,看看 Sprite 的構造函數你就能發現, Sprite 3 個構造函數中有兩個需要傳進一個圖像對象 (Image Object) ;而第三個構造函數是通過一個已經存在的 Sprite 構造 Sprite ?

    Sprite
    3 個構造函數: ?
    l???? Sprite(Image image) : 構造一個不會動的 Sprite ?
    l???? Sprite(Image image, int frameWidth, int frameHeight) : 創建一個可以動的 Sprite ?
    l ????? Sprite(Sprite s) : 通過一個已經存在的 Sprite 構造 Sprite ?

    精靈
    VS 圖像
    ? ?
    精靈負責一個對象的可視化呈現。例如,你可以把 ( 圖1 ) 中的每一幅圖像創建成一個精靈。 ?
    o_1.jpg (圖1)精靈舉例


    精靈的變換

    ?
    盡管精靈是從圖像創建來的,但是與單純的圖像相比,精靈表現出許多附件的功能。例如,精靈提供了變換 (transformations) 功能――允許你旋轉和鏡像一個精靈。 ( 圖2 ) 展示了對精靈的幾個變換:
    o_2.jpg (圖2)精靈的變換 ?

    精靈的參考像素
    ?
    除了變換之外,精靈的另一重要特點就是參考像素這個概念。 默認情況下,精靈的參考像素被定義在 (0,0) 這個位置,如 ( 圖3 ) 所示:
    o_3.jpg ( 圖3 ) 參考像素
    注意: 精靈周圍的淡灰色框只是為了清晰地表現精靈的輪廓

    當你嘗試著將精靈放置在某個特定位置但卻沒有參考點時,你就會發現使用參考像素的好處了。舉個例子來說,在 ( 圖4 ) 中,要把一個音符的頭 ( 音符的圓形部分 ) 放置在線上,另一個放置在兩條線之間,在沒有邏輯參考點的情況下,如果你愿意,可以使用參考像素位置 (0,0)
    o_4.jpg
    ( 圖4 ) 改變精靈的位置

    下一板塊將會演示如何用參考像素精確的解決這一問題。

    改變參考像素位置 ?
    讓我們改變音符的參考像素位置。如 ( 圖5五 ) 所示:
    o_5.jpg
    ( 圖5 ) 新參考像素
    采用新的參考像素位置,把音符放到五線譜 ( 樂譜中橫線的專業名稱 ) 的適當位置,更加直觀。
    o_6.jpg
    ( 圖6 ) 用參考像素改變位置


    精靈動畫 ?
    圖像相比,精靈的另一個好處就是能夠實現動畫。使用帶有多幀畫面的精靈(如圖7所示),實現動畫變成了簡單地調用適當的方法,這些方法用于管理每一個畫面按順序顯示出來從而形成動畫效果的方法
    o_7.jpg
    ( 7) 精靈幀

    注意: 雖然圖像也可以包含多幀畫面,但是精靈擁有獨特的能夠簡單有效地實現動畫的方法。在下一章你將看到用精靈實現動畫的全部細節。

    創建精靈
    ?
    接下來,你會看到一小段代碼。這段實例代碼繼承自 Sprite 類,它將向你展示如何創建一個精靈: ?

    /*--------------------------------------------------?
    * AppleSprite.java?
    *-------------------------------------------------*/?
    import javax.microedition.lcdui.game.*;?
    import javax.microedition.lcdui.*;?

    public class AppleSprite extends Sprite {?
    ?? public AppleSprite(Image image) {?
    ?? //Sprite 類的構造函數 ?
    ?? super(image);?
    ?? // 設置在畫布上的位置 ... 后面將詳細介紹 ?
    ?? setRefPixelPosition(146, 35);?
    ?? }
    }

    假設你有一張蘋果的PNG圖片,參照下面的代碼就能創建一個精靈的實例了:??
    private AppleSprite spApple; // 蘋果精靈?
    ?? ...?
    ?? try {?
    ?? // 非動畫精靈?
    ?? spApple = new AppleSprite(Image.createImage("/apple.png"));?
    ?? }catch (Exception e) {?
    ????? System.out.println("不能讀取PNG文件");?
    ?? }

    注意:PNG格式是J2ME/MIDP支持的唯一的圖像格式。要獲得更多關于PNG文件的信息,請訪問http://www.libpng.org/pub/png/

    (本文翻譯自John Muchow的Work with sprites in J2ME。)

    posted on 2006-04-22 11:52 學二的貓 閱讀(1585) 評論(1)  編輯  收藏 所屬分類: J2ME

    評論:
    # re: 用Sprite編寫J2ME程序--第二章 Sprite簡介 2008-04-16 16:34 | 青大
    頂  回復  更多評論
      
    主站蜘蛛池模板: 免费看少妇作爱视频| 亚洲成AV人片一区二区密柚| 黄色片网站在线免费观看| 国产亚洲精品无码拍拍拍色欲 | 四虎影视在线看免费观看| 久久91亚洲人成电影网站| 久久99九九国产免费看小说| 美女18毛片免费视频| 亚洲色欲色欲综合网站| 永久免费视频v片www| 日本免费污片中国特一级| 亚洲人成电影网站色| 国产亚洲精品成人AA片新蒲金| 在线视频精品免费| 一本一道dvd在线观看免费视频| 亚洲精品美女在线观看| 亚洲第一区在线观看| 日本XXX黄区免费看| 野花香高清视频在线观看免费| 亚洲色偷偷色噜噜狠狠99| 日本亚洲成高清一区二区三区 | 国产精品自在自线免费观看| 美女视频黄的免费视频网页| 青青青亚洲精品国产| 亚洲成人动漫在线观看| 亚洲综合色自拍一区| 暖暖免费高清日本中文| 在线人成精品免费视频| 一边摸一边爽一边叫床免费视频| 国产精品亚洲自在线播放页码| 亚洲精品无码av人在线观看| 国产大片91精品免费看3| 亚洲免费一级视频| 黄网站色视频免费在线观看的a站最新| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 久久久受www免费人成| 亚洲AV无码专区在线厂| 亚洲综合中文字幕无线码| 亚洲综合在线成人一区| 亚洲AV无码成人网站久久精品大 | 亚洲av日韩av永久在线观看|