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

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

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

    即興的靈感

    思維是一種藝術; 藝術需要靈感。

    博客好友

    最新評論

    J2ME游戲APIの游戲精靈Sprite

    ?? 在J2ME手機游戲開發中,MIDP2.0以上版本提供了一個有助于游戲制作的類,該類稱為游戲精靈Sprite,在J2ME中使用游戲精靈Sprite可以簡單的管理角色動畫使用的frame圖像。
    ?? 以下我將歸納一下游戲精靈Sprite的一些核心內容。
    ?? 一、圖像分割
    ?? 在使用Sprite類時候,只需要準備一張圖像就可以構造出生動的動畫效果,將要制作的動畫效果使用的圖像按照順序排列后制作成一張圖片,在Sprite構造方法中設定圖片源跟圖片的分割frame數,Sprite就能自動根據frame數對圖片進行分割。
    ?? Sprite常用構造方法為:public Sprite(Image i, int frameWidth, int frameHeight)。
    ?? 需要注意的是,組成圖片的各個幀寬度必須相同,且像素數需要跟圖片對應,否則將出現IO異常。

    ?? 二、圖片frame設置
    ?? 經過Sprite的分割后,圖片將被分成不同的獨立小圖片,例如一副圖片由4幀圖片組成,則圖片的index將從0-3個不同幀對象。利用Sprite類的setFrame(int index)方法可以在游戲過程中任意指定顯示哪一個frame。
    ?? 相應其他方法還有nextFrame()和prevFrame()取得前后幀圖像等方法。

    ?? 三、精靈定位與描繪
    ?? Sprite類利用setPosition方法來指定精靈描繪的坐標點(固定點是圖片的左上頂點坐標),從而定位了精靈在屏幕中的位置;在描繪精靈時,只需要把Graphics對象傳遞到Sprite中的paint方法中的參數就能將精靈顯示。
    ?? 例如:精靈對象plane
    ?? 設置位置:plane.setPosition(getWidth()/2, getHeight()/2);
    ?? 顯示精靈:plane.paint(g);

    ?? 四、精靈轉動跟翻轉
    ?? 在游戲中經常需要使游戲對象有轉動跟翻轉的功能使得游戲更加生動逼真,在Sprite類中提供了方法void setTransform(int transform)來設定精靈的轉動跟翻轉效果,利用它我們就可以容易的讓圖片動起來。
    ?? 參數transform預先設定了八種常量定義,這八種常量對應的效果如下:
    ?? 1、TRANS_NONE: 沒有進行轉動和翻轉;
    ? 2、TRANS_ROT90: 90度轉動;
    ? 3、TRANS_ROT180: 180度轉動;
    ? 4、TRANS_ROT270: 270度轉動;
    ? 5、TRANS_MIRROR: 左右翻轉;
    ? 6、TRANS_MIRROR_ROT90: 左右翻轉后90度轉動;
    ? 7、TRANS_MIRROR_ROT180: 左右翻轉后180度轉動;
    ? 8、TRANS_MIRROR_ROT270: 左右翻轉后270度轉動。
    ? 如設定精靈plane轉動90度如下:
    ? plane.setTransform(Sprite.TRANS_ROT90);

    ? 五、精靈參照點和目標定位
    ??在Sprite中還有兩個重要的方法,分別為defineReferencePixel(int x,int y)和setRefPixelPosition(int y,int y),用于設定精靈的參照點和對精靈參照點的目標定位。
    ??如設定精靈plane的參照點跟定位點如下:
    ??plane.defineReferencePixel(0,12);
    ??plane.setRefPixelPosition(getWidth()/2,getHeight()/2);

    ??六、精靈碰撞檢測
    ??在MIDP1.0中對游戲角色碰撞是通過計算物體的大小以及坐標來判斷的,Sprite中提供了專門的碰撞判斷方法,通過該方法可以容易的對角色是否接觸進行判斷。
    ??碰撞判斷常用的方法為collidesWith(Sprite sprite,boolean pixelLebel);
    ??第一個參數為與自身可能發生碰撞的精靈對象;
    ??第二個參數為是否像素級別碰撞檢測,如果為false,則當精靈圖片的邊框接觸時候將為碰撞發生;如果為true,則需要在當圖片中真實的像素內容接觸時碰撞才發生,通常設定為true使得游戲更加逼真。

    ?
    鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
    ???? 隱姓埋名/低調華麗/簡單生活/完美人生

    posted on 2009-02-17 13:47 poetguo 閱讀(1746) 評論(0)  編輯  收藏 所屬分類: J2ME

    主站蜘蛛池模板: 亚洲色婷婷六月亚洲婷婷6月| 激情小说亚洲图片| 国产午夜无码精品免费看| 一本色道久久88亚洲综合| 国产亚洲精品免费| 亚洲&#228;v永久无码精品天堂久久 | 一级毛片无遮挡免费全部| 亚洲av无码国产精品色在线看不卡 | 亚洲av日韩aⅴ无码色老头 | 亚洲综合久久夜AV | 亚洲视频在线免费| 国产亚洲精品自在久久| 久久99热精品免费观看动漫| 亚洲av鲁丝一区二区三区| 最近中文字幕免费2019| 亚洲成人福利在线| 毛片网站免费在线观看| 豆国产96在线|亚洲| 国产综合精品久久亚洲| 未满十八18禁止免费无码网站 | 最近新韩国日本免费观看| 亚洲国产成a人v在线观看| 国产大片91精品免费观看男同| 免费精品视频在线| 久久精品国产精品亚洲艾草网| 日本人的色道免费网站| 久久水蜜桃亚洲AV无码精品| 亚洲日韩激情无码一区| 4455永久在线观免费看| 国产精品久久亚洲一区二区| 精品国产香蕉伊思人在线在线亚洲一区二区| 大妹子影视剧在线观看全集免费 | 亚洲熟妇无码AV| 亚洲日韩在线中文字幕第一页| 日本视频免费高清一本18| 久久狠狠爱亚洲综合影院| 国产无遮挡吃胸膜奶免费看| 热久久这里是精品6免费观看| 亚洲人成亚洲精品| 全部免费国产潢色一级| 久久国产精品一区免费下载|