<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 手機開發(fā)網(wǎng)

       :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      99 Posts :: 1 Stories :: 219 Comments :: 0 Trackbacks
    雙緩沖技術(shù)的應(yīng)用很廣泛,設(shè)計游戲的時候更是需要它,

    ???? 在midp1.0中,api中并沒有g(shù)ame這個包,看到網(wǎng)上很多人在討論設(shè)計游戲的時候會出現(xiàn)圖片斷裂,屏幕閃爍等問題。

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

    ????

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

    ??? 對于手機來說。具體的過程就是通過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. ?*?實現(xiàn)雙緩沖的Game畫布。實現(xiàn)原理是創(chuàng)建一個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. ????????//如果要求繪制指定區(qū)域的話就需要這樣了??
    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. ?????*?設(shè)計者主要是通過調(diào)用這個方法獲取圖片。然后就可以繪制了?
    72. ?????*?@return?
    73. ?????*/??
    74. ????protected?Graphics?getGraphics()?{??
    75. ????????return?this.bufferImage.getGraphics();??
    76. ????}??
    77. ??
    78. ????/**?
    79. ?????*?這個方法主要是處理Nokia平臺,用戶調(diào)用setFullScreenMode(boolean?enable)?時重新按照新的w?&?h創(chuàng)建緩沖圖片?
    80. ?????*/??
    81. ????protected?final?void?sizeChanged(int?w,?int?h)?{??
    82. ????????if?(h?>?height)?{??
    83. ????????????this.bufferImage?=?Image.createImage(w,?h);??
    84. ????????}??
    85. ????}??
    86. }?



    爬蟲工作室 -- 專業(yè)的手機軟件開發(fā)工作室
    3G視線 -- 專注手機軟件開發(fā)
    posted on 2007-03-21 17:45 3G工作室 閱讀(1237) 評論(0)  編輯  收藏 所屬分類: j2me
    主站蜘蛛池模板: 亚洲精品mv在线观看| 亚洲电影国产一区| 亚洲成人激情小说| 亚洲免费一级视频| 亚洲不卡中文字幕| 波多野结衣免费在线| www.xxxx.com日本免费| 国产成人一区二区三区免费视频| 亚洲色精品三区二区一区| 国产久爱免费精品视频| 亚洲日韩国产精品乱| 一级特黄色毛片免费看| 青青草原亚洲视频| 免费精品99久久国产综合精品| 亚洲精品无码久久久影院相关影片 | 永久免费的网站在线观看| 亚洲一区二区三区无码国产| 2021久久精品免费观看| 亚洲av乱码一区二区三区香蕉| 精品久久久久久久久免费影院| 亚洲人成色在线观看| 在线观看国产情趣免费视频| 美女被吸屁股免费网站| 激情97综合亚洲色婷婷五| 久久精品一区二区免费看| 亚洲国产中文在线二区三区免| 无码中文字幕av免费放| 特a级免费高清黄色片| 亚洲va无码手机在线电影| 99re热精品视频国产免费| 亚洲宅男精品一区在线观看| 永久免费bbbbbb视频| a毛片免费观看完整| 亚洲午夜精品在线| 亚洲麻豆精品国偷自产在线91| 久久午夜免费鲁丝片| 亚洲成a人无码亚洲成www牛牛| 国产精品亚洲w码日韩中文| 69视频在线观看高清免费| 亚洲精品无码久久久久A片苍井空 亚洲精品无码久久久久YW | 四虎影视久久久免费|