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

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

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

    饒榮慶 -- 您今天UCWEB了嗎?--http://www.ucweb.com

    3G 手機開發網

       :: 首頁 :: 聯系 :: 聚合  :: 管理
      99 Posts :: 1 Stories :: 219 Comments :: 0 Trackbacks
    雙緩沖技術的應用很廣泛,設計游戲的時候更是需要它,

    ???? 在midp1.0中,api中并沒有game這個包,看到網上很多人在討論設計游戲的時候會出現圖片斷裂,屏幕閃爍等問題。

    ???? 我經過這幾天的學習整理下自己的學習心得,用來拋磚,希望對此有研究高手們相互討論。讓我也學習學習。

    ????

    ???? 雙緩沖的原理可以這樣形象的理解:把電腦屏幕看作一塊黑板。首先我們在內存環境中建立一個“虛擬“的黑板,然后在這塊黑板上繪制復雜的圖形,等圖形全部繪制完畢的時候,再一次性的把內存中繪制好的圖形“拷貝”到另一塊黑板(屏幕)上。采取這種方法可以提高繪圖速度,極大的改善繪圖效果。

    ??? 對于手機來說。具體的過程就是通過extends Canvas。然后獲取bufferImage。再然后就getGraphics。最后就是在這個graphics中繪制圖片等,再最后就是把這個繪制好的bufferImage繪制的屏幕上。

    ???? 說歸說。具體還是要看代碼的。里面的代碼參照了一些開源的代碼。

    java 代碼
    1. package?org.wuhua.game;??
    2. ??
    3. import?javax.microedition.lcdui.Canvas;??
    4. import?javax.microedition.lcdui.Graphics;??
    5. import?javax.microedition.lcdui.Image;??
    6. ??


    7. ?

    8. ??
    9. /**?
    10. ?*?類名:GameCanvas.java?

      ?編寫日期:?2006-11-29?

      ?程序功能描述:
      ?

    11. ?*?實現雙緩沖的Game畫布。實現原理是創建一個BufferImage。然后繪制,最后顯示出來。就這么簡單。

      ?Demo:?

      ?Bug:
      ?

    12. ?*?

      ?

    13. ?*??
    14. ?*?程序變更日期?:

      ?變更作者?:

      ?變更說明?:

      ?

    15. ?*??
    16. ?*?@author?wuhua?

      ?
      ?

    17. ?*/??
    18. public?abstract?class?GameCanvas?extends?Canvas?{??
    19. ??
    20. ????/**?
    21. ?????*?繪制緩沖的圖片。用戶繪制資源的時候都是操作這個圖片來進行的?
    22. ?????*/??
    23. ????private?Image?bufferImage;??
    24. ??
    25. ????private?int?height;??
    26. ??
    27. ????private?int?width;??
    28. ??
    29. ????private?int?clipX,?clipY,?clipWidth,?clipHeight;??
    30. ??
    31. ????private?boolean?setClip;??
    32. ??
    33. ????protected?GameCanvas()?{??
    34. ??
    35. ????????super();??
    36. ??
    37. ????????width?=?getWidth();??
    38. ????????height?=?getHeight();??
    39. ??
    40. ????????this.bufferImage?=?Image.createImage(width,?height);??
    41. ??
    42. ????}??
    43. ??
    44. ????protected?void?paint(Graphics?g)?{??
    45. ????????//如果要求繪制指定區域的話就需要這樣了??
    46. ????????if?(this.setClip)?{??
    47. ????????????g.clipRect(this.clipX,?this.clipY,?this.clipWidth,?this.clipHeight);??
    48. ????????????this.setClip?=?false;??
    49. ????????}??
    50. ????????g.drawImage(this.bufferImage,?0,?0,?Graphics.TOP?|?Graphics.LEFT);??
    51. ??
    52. ????}??
    53. ??
    54. ????public?void?flushGraphics(int?x,?int?y,?int?width,?int?height)?{??
    55. ????????this.setClip?=?true;??
    56. ????????this.clipX?=?x;??
    57. ????????this.clipY?=?y;??
    58. ????????this.clipWidth?=?width;??
    59. ????????this.clipHeight?=?height;??
    60. ??
    61. ????????repaint();??
    62. ????????serviceRepaints();??
    63. ????}??
    64. ??
    65. ????public?void?flushGraphics()?{??
    66. ????????repaint();??
    67. ????????serviceRepaints();??
    68. ????}??
    69. ??
    70. ????/**?
    71. ?????*?設計者主要是通過調用這個方法獲取圖片。然后就可以繪制了?
    72. ?????*?@return?
    73. ?????*/??
    74. ????protected?Graphics?getGraphics()?{??
    75. ????????return?this.bufferImage.getGraphics();??
    76. ????}??
    77. ??
    78. ????/**?
    79. ?????*?這個方法主要是處理Nokia平臺,用戶調用setFullScreenMode(boolean?enable)?時重新按照新的w?&?h創建緩沖圖片?
    80. ?????*/??
    81. ????protected?final?void?sizeChanged(int?w,?int?h)?{??
    82. ????????if?(h?>?height)?{??
    83. ????????????this.bufferImage?=?Image.createImage(w,?h);??
    84. ????????}??
    85. ????}??
    86. }?



    爬蟲工作室 -- 專業的手機軟件開發工作室
    3G視線 -- 專注手機軟件開發
    posted on 2007-03-21 17:45 3G工作室 閱讀(1242) 評論(0)  編輯  收藏 所屬分類: j2me
    主站蜘蛛池模板: 四虎最新永久免费视频| 久久精品视频免费| 日韩免费视频观看| 亚洲综合伊人制服丝袜美腿| 日韩午夜理论免费TV影院| 亚洲男人第一av网站| 久久er国产精品免费观看2| 亚洲开心婷婷中文字幕| 国内少妇偷人精品视频免费| 久久亚洲国产成人精品无码区| 国产日韩精品无码区免费专区国产| 亚洲精品无码日韩国产不卡?V | 亚洲av永久无码嘿嘿嘿| 无码国产精品久久一区免费| 亚洲色一区二区三区四区| 日本无吗免费一二区| 特级aa**毛片免费观看| 亚洲中文字幕久久精品无码APP| 久青草视频97国内免费影视| 亚洲毛片αv无线播放一区| 美女被cao网站免费看在线看| 久久国产精品亚洲综合| 2019中文字幕免费电影在线播放| 亚洲国产精品久久久久秋霞影院 | 亚洲精品第五页中文字幕| 韩国免费一级成人毛片| 亚洲欧美日韩中文字幕一区二区三区 | 我要看免费的毛片| 特级毛片A级毛片免费播放| 亚洲毛片αv无线播放一区| 在线观看的免费网站无遮挡| 亚洲砖码砖专无区2023| 亚洲成A人片77777国产| 久久青草免费91线频观看站街| 亚洲精品在线不卡| 夜色阁亚洲一区二区三区| 高清一区二区三区免费视频| 亚洲无码一区二区三区| 亚洲日韩一页精品发布| 国产精品成人观看视频免费| 免费无码国产V片在线观看|