GameCanvas
˜q™ä¸ª¾cÀL˜¯Canvas¾cÈš„åç±»,ä¸ºæ¸¸æˆæä¾›äº†åŸºæœ¬çš?å±å¹•"功能。除了从Canvas ¾l§æ‰¿ä¸‹æ¥çš„æ–¹æ³•外,˜q™ä¸ª¾c»è¿˜æä¾›äº†æ¸¸æˆä¸“用的功能,å¦‚æŸ¥è¯¢å½“å‰æ¸¸æˆé”®çжæ€çš„能力,åŒæ¥å›‘փ输出åQ›è¿™äº›åŠŸèƒ½ç®€åŒ–äº†æ¸¸æˆå¼€å‘åÆˆæé«˜äº†æ€§èƒ½ã€?br>˜q™ä¸ª¾cÖM¸ŽCanvas ¾cÈ›¸æ¯”有两个优点åQ?。它拥有å±å¹•¾~“冲åQ?。它å¯ä»¥ç›´æŽ¥å¾—到讑֤‡é”®ç›˜çš„物ç†çжæ€ã€?/p>
Layer
Layer ¾cÖM»£è¡¨æ¸¸æˆä¸çš„一个å¯è§†åŒ–å…ƒç´ ,例如Sprite 或TiledLayer 是它的å¾c»ï¼›˜q™ä¸ªæŠ½è±¡¾cÀL好了å±?Layer)çš„åŸºæœ¬æ¡†æž¶åÆˆæä¾›äº†ä¸€äº›åŸºæœ¬çš„属æ€?如佾|?大å°,å¯è§†ä¸Žå¦ã€‚出于优化的考虑,ä¸å…许直接äñ”生Layer çš„å¾c?ä¸èƒ½åŒ…外¾l§æ‰¿)ã€?/p>
LayerManager
对于有ç€è®¸å¤šLayer 的游æˆè€Œè¨€,LayerManager 通过实现分层‹Æ¡çš„自动渲染,从而简化了游æˆå¼€å‘。它å…许开å‘者设¾|®ä¸€ä¸ªå¯è§†çª—å?View Window),表示用户在游æˆä¸å¯è§çš„窗å£ï¼›LayerManager 自动渲染游æˆä¸çš„Layer,从而实现期望的视图效果ã€?br>LayerManagerè´Ÿè´£½Ž¡ç†Layer对象åQŒåƈ且按照指定的™åºåºç”ÖM»–们ã€?/p>
Sprite
Sprite åˆç§°“¾_„¡µ”,也是一¿ULayer,å¯ä»¥æ˜„¡¤ºä¸€å¸§æˆ–多å“á的连¾l图åƒã€‚但所有的帧都是相åŒå¤§ž®çš„,òq¶ä¸”ç”׃¸€ä¸ªImage 对象æä¾›ã€‚Sprite 通过循环昄¡¤ºæ¯ä¸€å¸?å¯ä»¥å®žçްä»ÀL„™åºåºçš„动画;Sprite ¾c»è¿˜æä¾›äº†è®¸å¤šå˜æ?¾˜»è{和旋è½?模å¼å’Œç¢°æ’žæ£€‹¹‹æ–¹æ³?能大大简化游æˆé€»è¾‘的实现ã€?/p>
TiledLayer
TiledLayer åˆç§°“ç –å—”,˜q™ä¸ª¾cÕd…许开å‘者在ä¸å¿…使用éžå¸¸å¤§çš„Image对象的情况下创å¾ä¸€ä¸ªå¤§çš„图åƒå†…å®V€‚TiledLayer 有许多å•å…ƒæ ¼æž„æˆ,æ¯ä¸ªå•å…ƒæ ÆDƒ½æ˜„¡¤ºç”׃¸€ä¸ªå•一Image 对象æä¾›çš„一¾l„脓图ä¸çš„æŸä¸€ä¸ªè„“å›¾ã€‚å•å…ƒæ ¼ä¹Ÿèƒ½è¢«åŠ¨ç”»è„“å›‘Ö¡«å…?动画贴图的内容能éžå¸¸˜q…速地å˜åŒ–åQ›è¿™ä¸ªåŠŸèƒ½å¯¹äºŽåŠ¨ç”ÀL˜¾½Cºéžå¸¸å¤§çš„一¾l„å•å…ƒæ ¼éžå¸¸æœ‰ç”¨,例如一个充满水的动æ€åŒºåŸŸã€?br>TiledLayer更多的被用æ¥åˆ›å¾èƒŒæ™¯åQŒæ¯”å¦‚èµ›é“æˆ–者其他更大的区域.
1. J2ME 实际上是一¾pÕdˆ—规范的集åˆï¼Œç”?/span> JCP ¾l„织制定相关çš?/span> Java Specification RequeståQ?/span>JSRåQ‰åƈå‘布, MIDP2.0规范ž®±æ˜¯åœ?/span> JSR118 ä¸åˆ¶å®šçš„
2. J2ME òq›_°æ˜¯ç”±é…ç½®åQ?/span>ConfigurationåQ‰å’Œ½Ž€è¡¨ï¼ˆProfileåQ‰æž„æˆçš„é…置是æä¾›ç»™æœ€å¤§èŒƒå›´ä‹É用的最ž®ç±»åº“集åˆï¼Œåœ¨é…¾|®ä¸åŒæ—¶åŒ…å« Java 虚拟机。简表是针对一¾pÕdˆ—讑֤‡æä¾›çš„å¼€å‘包集åˆã€?/span> ç›®å‰åQ?/span>J2ME 䏿œ‰ä¸¤ä¸ªæœ€ä¸»è¦çš„é…¾|®ï¼Œåˆ†åˆ«æ˜?/span> Connected Limited Devices ConfigurationåQ?/span>CLDCåQ‰å’Œ Connected Devices ConfigurationåQ?/span>CDCåQ‰ã€‚éšç€æŠ€æœ¯å’Œ¼‹¬äšg讑֤‡ä¸æ–å‘展åQ?/span>J2ME å¼€å‘网ž®†é€æ¥æŽ¨å‡ºåŸÞZºŽ CDC çš?/span>J2ME òq›_°
3. 从上˜q°çš„æ ‡å‡†ä¸æˆ‘们ä¸éš„¡œ‹å‡?/span> CLDC 主è¦é’ˆå¯¹é‚£äº›èµ„æºéžå¸¸å—é™çš„设备比如手æœ?/span> PDAåŒå·¥å¯Õd‘¼æœºç‰ã€?/span>CDC主è¦é¢å¯¹é‚£äº›å®¶ç”µäº§å“åQŒæ¯”如机™å¶ç›’ã€æ±½è½¦å¯¼èˆªç³»¾lŸç‰ã€‚例å¦?/span> Mobile Information Devices ProfileåQ?/span>MIDPåQ‰å°±æ˜?/span> CLDC 上层的é‡è¦ç®€è¡¨ã€?/span>
4. MIDPä¸å®šä¹‰äº†ä¸€¿Uæ–°çš„åº”ç”¨ç¨‹åºæ¨¡åž?/span> MIDletã€?/span>MIDlet 有三个状æ€ï¼Œåˆ†åˆ«æ˜?/span> pause active å’?/span> destroyed。在å¯åЍ䏀ä¸?/span>MIDlet的时候,应用½Ž¡ç†è½¯äšg会首先创å»ÞZ¸€ä¸?/span> MIDlet 实例òq¶ä‹É得他处于 pause 状æ€ï¼Œå½?/span> startApp()æ–ÒŽ³•被调用的时å€?/span>MIDlet ˜q›å…¥ active 状æ€ï¼Œä¹Ÿå°±æ˜¯æ‰€è¯´çš„˜q行状æ€?/span> 。在active状æ€è°ƒç”?/span>destroyApp(boolean unconditional)或è€?/span> pauseApp()æ–ÒŽ³•å¯ä»¥ä½¿å¾— MIDlet˜q›å…¥ destroyed 或è€?/span>pause状æ€?/span>
|
![]() |
J2ME å¼€å‘环境æå»?/font> |
|
![]() |
技术文�/font> |
|
      J2ME ä¸ä‹É用到çš?/span> Java 基础知识åQ?/span>
1ã€?/font>  Java è¯æ³•基础åQšåŒ…括基本数æ®ç±»åž‹ã€å…³é”®å—ã€è¿½Ž—符½{‰ç‰
2ã€?/font>  é¢å‘å¯¹è±¡çš„æ€æƒ³åQšç±»å’Œå¯¹è±¡çš„æ¦‚念åQŒç‘ô承和多æ€ç‰½{‰ã€?/font>
3ã€?/font>  异常处ç†
4ã€?/font>  多线½E?/font>
Â
J2ME 䏿²¡æœ‰ç”¨åˆ°çš„ Java 基础知识åQ?/span>
1ã€?/font>  JDK ä¸?/span> javac å’?/span> java 命ä×oçš„ä‹Éç”?/span>
2ã€?/font>  Java 基础ä¸çš„很多¾cÕdœ¨ J2ME 䏿²¡æœ‰ï¼Œæˆ–者类ä¸çš„æ–ÒŽ³•åšäº†å¤§é‡çš„ç²¾½Ž€ã€‚所以å¾è®®åœ¨ J2ME ä¸ç†Ÿæ‚‰ç±»åº“ã€?/span>
3ã€?/font>  Applet ã€?/span> AWT ã€?/span> Swing ˜q™äº›çŸ¥è¯†åœ?/span> J2ME 䏿 ¹æœ¬ä‹É用ä¸åˆ°ã€?/span>