锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV无码之日韩精品,亚洲欧洲AV无码专区,亚洲高清中文字幕免费 http://www2.blogjava.net/Andyluo/category/8654.html<table><tr><td>閿葷偧韜綋銆佹彁鍗囨妧鑳姐佷慨韜吇鎬?lt;br>
Eclipse, Linux, GWT, Google, AJAX<br>
</td><td> </td><td>
<script type="text/javascript"><!--
google_ad_client = "pub-9685945790422740";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td></tr></table> zh-cn Wed, 28 Feb 2007 02:40:11 GMT Wed, 28 Feb 2007 02:40:11 GMT 60 J2ME緗戠粶紼嬪簭涓垽鏂竴嬈℃暟鎹彂閫佺殑緇撴潫 http://www.tkk7.com/Andyluo/archive/2006/03/19/36103.html緗楁槑 緗楁槑 Sun, 19 Mar 2006 13:30:00 GMT http://www.tkk7.com/Andyluo/archive/2006/03/19/36103.html http://www.tkk7.com/Andyluo/comments/36103.html http://www.tkk7.com/Andyluo/archive/2006/03/19/36103.html#Feedback 2 http://www.tkk7.com/Andyluo/comments/commentRss/36103.html http://www.tkk7.com/Andyluo/services/trackbacks/36103.html 濡備笅浠g爜鎵紺猴細// 灝嗘帴鏀跺埌鐨勬暟鎹瓨鍒板瓧鑺傛暟緇刟rray int 聽firstChar聽 = 聽inputStream.read(); int 聽length聽 = 聽inputStream.available(); byte []聽array聽 = 聽 new 聽 byte [length + 1 ]; array[ 0 ]聽 = 聽( byte )firstChar; inputStream.read(array, 1 ,length); ]]>J2ME Tutorial, Part 3: 鎺㈢┒MIDP 2.0鐨勬父鎴廇PI(鍥? http://www.tkk7.com/Andyluo/archive/2005/12/16/24281.html緗楁槑 緗楁槑 Fri, 16 Dec 2005 11:58:00 GMT http://www.tkk7.com/Andyluo/archive/2005/12/16/24281.html http://www.tkk7.com/Andyluo/comments/24281.html http://www.tkk7.com/Andyluo/archive/2005/12/16/24281.html#Feedback 0 http://www.tkk7.com/Andyluo/comments/commentRss/24281.html http://www.tkk7.com/Andyluo/services/trackbacks/24281.html
鏋勫緩J2ME娓告垙錛氱敤TiledLayer鏋勯犺儗鏅?/b>
鍦ㄨ繖涓鑺備腑錛屾垜浠浣跨敤TiledLayer綾諱負娓告垙娣誨姞涓涓儗鏅傛父鎴忕晫闈㈠垎涓轟笁涓尯鍩燂細欏墮儴琛ㄧず澶╃┖錛宑ouple灝忕簿鐏墊墍鍦ㄧ殑涓儴鏄湴闈紝搴曢儴鏄ぇ嫻楓傛瘡涓尯鍩熷垎鍒嬌鐢ㄤ竴涓?2*32鍍忕礌鐨勪笉鍚岄鑹插浘鐗囪繘琛屽~鍏咃紝濉厖鐨勫伐浣滅敱TiledLayer綾誨畬鎴愩?br /> 棣栧厛灝嗗睆騫曞垎鎴?2*32鐨勫皬鏂規牸錛岃鍜屽垪鐨勭儲寮曢兘浠?寮濮嬶紝濡傚浘4銆?br /> 聽聽聽聽聽聽聽聽聽聽 鍥?4. 鍧囧寑鍒嗗壊灞忓箷 (0,0)鍒?1,4)鐨勬柟鏍艱〃紺哄ぉ絀猴紝(2,0)鍒?2,4)琛ㄧず鍦伴潰錛?3,0)鍒?4,4)琛ㄧず嫻烽潰銆傛垜浠敤鍥?涓殑鍥劇墖濉厖瀵瑰簲鏂規牸銆?br /> 鍥?5. 鑳屾櫙鍥劇墖 鑳屾櫙鍥劇墖鐨勭涓閮ㄥ垎(32*32)琛ㄧず鍦伴潰錛岀浜岄儴鍒嗚〃紺哄ぇ嫻鳳紝絎笁閮ㄥ垎琛ㄧず澶╃┖銆備嬌鐢═iledLayer鏃訛紝鍥劇墖鐨勭儲寮曟槸浠?寮濮嬬殑錛堜笉鏄?錛屾墍浠ュ湴闈㈠浘鍍忕殑浣嶇疆鏄?錛屽ぇ嫻鋒槸2錛屽ぉ絀烘槸3錛夈俆iledLayer綾誨彲浠ュ皢鍥?鍒嗗壊鎴愪笁寮犲浘鐗囷紝鐒跺悗鐢ㄦ瘡寮犲浘鐗囧~鍏呭搴旂殑鏂規牸銆傚湪榪欓噷錛屾垜浠敤涓変釜 32*32澶у皬鍥劇墖濉厖5琛?鍒楃殑鑳屾櫙錛岄儴鍒嗕唬鐮佸涓嬶細 // 聽鍔犺澆鍥劇墖 backgroundImg聽 = 聽Image.createImage( " /tiledLayer1.gif " ); // 聽鍒涘緩TiledLayer鑳屾櫙 background聽 = 聽 new 聽TiledLayer( 5 ,聽 5 ,聽backgroundImg,聽 32 ,聽 32 );
TiledLayer鏋勯犲櫒鐨勫墠涓や釜鍙傛暟琛ㄧず鑳屾櫙澶у皬錛岀涓変釜鏄浘鍍忥紝鏈鍚庝袱涓槸姣忎釜鏍煎瓙鐨勯暱鍜屽銆俆iledLayer綾誨皢鏍規嵁鏍煎瓙鐨勫ぇ灝忓垏鍓插浘鍍忥紝鐒跺悗鏀懼埌鑳屾櫙鐨勫搴旀柟鏍間腑銆?br /> 鏈鍚庡墿涓嬬殑灝辨槸璁劇疆姣忎釜鏂規牸閲屾斁緗殑鍥懼儚浜嗐傚垱寤鴻儗鏅殑鎵鏈変唬鐮侀兘鍦╟reateBackground()鏂規硶閲岋紝濡備笅鎵紺恒傚湪MyGameCanvas 綾葷殑start()閲岃皟鐢ㄨ繖涓柟娉曪紝鐒跺悗鍦╞uildGameScreen()鏂規硶鐨勬渶鍚庢坊鍔燽ackground.paint(g)錛岃繖浣垮緱 TiledLayer瀹炰緥灝嗚嚜宸辯粯鍒跺埌灞忓箷涓娿?br />// 聽浣跨敤TiledLayer鍒涘緩鑳屾櫙 private 聽 void 聽createBackground()聽 throws 聽IOException { 聽聽聽聽 // 聽鍔犺澆鍥劇墖 聽聽聽聽backgroundImg聽 = 聽Image.createImage( " /tiledLayer1.gif " ); 聽聽聽聽 // 聽鍒涘緩tiledLayer鑳屾櫙 聽聽聽聽background聽 = 聽 new 聽TiledLayer( 5 ,聽 5 ,聽backgroundImg,聽 32 ,聽 32 ); 聽聽聽聽 // 聽甯冪疆鍥懼儚鐨勬暟緇?/span>聽聽聽聽 int []聽cells聽 = 聽{ 聽聽聽聽聽聽聽聽 3 ,聽 3 ,聽 3 ,聽 3 ,聽 3 ,聽聽 // 聽澶╃┖ 聽聽聽聽聽聽聽聽 3 ,聽 3 ,聽 3 ,聽 3 ,聽 3 ,聽聽 // 聽澶╃┖ 聽聽聽聽聽聽聽聽 1 ,聽 1 ,聽 1 ,聽 1 ,聽 1 ,聽聽 // 聽鍦伴潰 聽聽聽聽聽聽聽聽 2 ,聽 2 ,聽 2 ,聽 2 ,聽 2 ,聽聽 // 聽澶ф搗 聽聽聽聽聽聽聽聽 2 ,聽 2 ,聽 2 ,聽 2 ,聽 2 聽聽聽 // 聽澶ф搗 聽聽聽聽}; 聽聽聽聽 // 聽璁劇疆鑳屾櫙 聽聽聽聽 for ( int 聽i聽 = 聽 0 ;聽i聽 < 聽cells.length;聽i ++ ) 聽聽聽聽{ 聽聽聽聽聽聽聽聽 int 聽column聽 = 聽i聽 % 聽 5 ; 聽聽聽聽聽聽聽聽 int 聽row聽 = 聽(i聽 - 聽column)聽 / 聽 5 ; 聽聽聽聽聽聽聽聽background.setCell(column,聽row,聽cells[i]); 聽聽聽聽} 聽聽聽聽 // 聽璁劇疆鑳屾櫙浣嶇疆 聽聽聽聽background.setPosition(GAME_ORIGIN_X,聽GAME_ORIGIN_Y); }
鏈緇堟晥鏋滃鍥?銆?br /> 聽聽聽 鍥?6. 娣誨姞浜嗚儗鏅殑娓告垙鎴睆 鍘熸枃瑙侊細http://today.java.net/pub/a/today/2005/07/07/j2me3.html?page=4 ]]> J2ME Tutorial, Part 3: 鎺㈢┒MIDP 2.0鐨勬父鎴廇PI(涓? http://www.tkk7.com/Andyluo/archive/2005/12/12/23435.html緗楁槑 緗楁槑 Mon, 12 Dec 2005 03:39:00 GMT http://www.tkk7.com/Andyluo/archive/2005/12/12/23435.html http://www.tkk7.com/Andyluo/comments/23435.html http://www.tkk7.com/Andyluo/archive/2005/12/12/23435.html#Feedback 0 http://www.tkk7.com/Andyluo/comments/commentRss/23435.html http://www.tkk7.com/Andyluo/services/trackbacks/23435.html 鍘熸枃瑙? http://today.java.net/pub/a/today/2005/07/07/j2me3.html?page=3
瀹氫箟娓告垙鐨勮鑹插拰鐗瑰緛 涓涓彧鑳藉皢鍥劇墖宸﹀彸縐誨姩鐨勬父鎴忔槸娌℃湁鎰忔濈殑銆傛垜浠幇鍦ㄨ瀵規竻鍗?鐨勪唬鐮佷綔涓浜涙敼鍔紝璁╁畠鍙樺緱鏇存湁瓚d簺銆傞鍏堟垜浠瀹氫箟娓告垙鏄劇ず鐨勮竟鐣岋紝榪欐牱鑳戒繚璇佸湪鎵鏈夎澶囦笂鐨勫ぇ灝忎竴鑷達紝鍏堝畾涔変竴浜涘父閲忥紝濡備笅浠g爜鎵紺猴細
// 娓告垙杈圭晫 public static final int GAME_WIDTH = 160 ; public static final int GAME_HEIGHT = 160 ; // 娓告垙灞忓箷鐨勫師鐐瑰潗鏍囷紙宸︿笂瑙掞級 public final int GAME_ORIGIN_X = (getWidth() - GAME_WIDTH) / 2 ; public final int GAME_ORIGIN_Y = (getHeight() - GAME_HEIGHT) / 2 ; // couple灝忕簿鐏典笂涓嬪尯鍩熺殑楂樺害 public final int SECTION_HEIGHT = 64 ; // couple灝忕簿鐏墊潵鍥炵Щ鍔ㄧ殑鍩哄噯浣嶏紙base錛?/SPAN>public final int BASE = GAME_ORIGIN_Y + GAME_HEIGHT - SECTION_HEIGHT; // couple灝忕簿鐏佃煩璺冪殑鏈澶ч珮搴?/SPAN>public final int MAX_HEIGHT = 32 ;
(娉ㄦ剰錛屾垜浠繖閲屽紩鍏ヤ簡涓涓?EM>娓告垙鐗瑰緛錛歝ouple灝忕簿鐏靛緢蹇氨鍙互鍦ㄥ睆騫曚笂璺沖姩浜? 鍦ㄦ父鎴忓睆騫曚笂瀹氫箟鐨勮繖浜涘父閲忚瀹氫簡娓告垙鐨勮竟鐣岋紝濡傚浘2鎵紺恒?BR>
鍥?2. 鐢ㄥ父閲忓畾涔夋父鎴忚竟鐣?BR> 褰撶劧錛屾垜浠幇鍦ㄩ渶瑕佷慨鏀逛唬鐮佹潵浣跨敤榪欎簺甯擱噺銆傚湪娓呭崟1鐨勪唬鐮佷腑娣誨姞涓涓猙uildGameScreen(Graphics g)鏂規硶錛屽涓嬩唬鐮佹墍紺猴細
private void buildGameScreen(Graphics g) { // 璁劇疆鐢葷瑪涓洪粦鑹?/SPAN> g.setColor( 0x000000 ); // 緇樺埗娓告垙杈圭晫 g.drawRect(GAME_ORIGIN_X, GAME_ORIGIN_Y, GAME_WIDTH, GAME_HEIGHT); // 緇樺埗鍩哄噯綰?/SPAN> g.drawLine(GAME_ORIGIN_X, BASE, GAME_ORIGIN_X + GAME_WIDTH, BASE); // 鏍囧嚭couple灝忕簿鐏佃兘璺沖埌鐨勬渶楂樹綅緗?/SPAN> g.drawLine(GAME_ORIGIN_X, BASE - MAX_HEIGHT, GAME_ORIGIN_X + GAME_WIDTH, BASE - MAX_HEIGHT); }
鍐嶅湪updateGameScreen()鏂規硶閲岀粯鍒禼ouple涔嬪墠娣誨姞涓涓鏂規硶鐨勮皟鐢紝榪樿灝哻ouple灝忕簿鐏電殑寮濮嬩綅緗敱CENTER_Y鏀逛負BASE錛堝湪start()鏂規硶閲岃緗甤oupleY = BASE錛夈?/P>
couple灝忕簿鐏靛彲浠ュ乏鍙崇Щ鍔紝鎴戜滑瑕侀檺鍒跺畠璧板嚭杈圭晫錛屾洿鏀筩alculateCoupleX()鏂規硶閲屽乏鍙崇Щ鍔ㄧ殑浠g爜錛岄伩鍏嶅潗鏍囪秴鍑鴻竟鐣屻備慨鏀瑰悗鐨勪唬鐮佸涓嬶細
private void calculateCoupleX( int keyState) { // 鏍規嵁縐誨姩鏂瑰悜鏀瑰彉x鍧愭爣 if ((keyState & LEFT_PRESSED) != 0 ) { coupleX = Math.max( GAME_ORIGIN_X + coupleImg.getWidth() / 2 , coupleX - dx); } else if ((keyState & RIGHT_PRESSED) != 0 ) { coupleX = Math.min( GAME_ORIGIN_X + GAME_WIDTH - coupleImg.getWidth() / 2 , coupleX + dx); } }
鏂規硶浣跨敤Math.max()鍜宮in()鍑芥暟浣垮浘鐗囨樉紺哄湪娓告垙杈圭晫鍐呫傛敞鎰忔垜浠湪璁$畻涓繕鑰冭檻浜嗗浘鐗囩殑澶у皬銆?/P>
鎴戜滑鍒氭墠璇磋繃瑕佸疄鐜癱ouple灝忕簿鐏靛湪灞忓箷涓婅煩璺冪殑鍔熻兘錛屾垜浠幇鍦ㄥ鍔犱竴涓柟娉曚嬌鍥劇墖鍦╕杞翠笂縐誨姩錛岃煩璺冩椂縐誨姩鐨勫叿浣撹礬寰勫皢涓嶅彈鐜╁褰卞搷銆?/P>
鍦ㄦ竻鍗?鐨勪唬鐮佷腑娣誨姞涓変釜鏂扮殑瀹炰緥鍙橀噺錛歶p銆乯umpHeight 鍜宺andom銆傚涓嬫墍紺猴細
// 琛ㄧずcouple灝忕簿鐏電Щ鍔ㄦ柟鍚戠殑鏍囪瘑 private boolean up = true ; // 璺寵穬楂樺害錛岃煩璺冩椂闅忔満鐢熸垚 private int jumpHeight = MAX_HEIGHT; // 闅忔満鏁頒駭鐢熷櫒 public Random random = new Random();
jumpHeight鍒濆鍊艱璁句負MAX_HEIGHT銆俲umpHeight鍙橀噺浼氬湪couple灝忕簿鐏墊瘡嬈¤煩璺冩椂鍔ㄦ佽涓洪殢鏈哄鹼紝鏂板鐨刢alculateCoupleY()鏂規硶濡備笅錛?/P>
private void calculateCoupleY( int keyState) { // 媯鏌ouple灝忕簿鐏墊槸鍚﹀湪璺寵穬 if (up) { // 媯鏌ュ皬綺劇伒鏄惁璺沖埌浜嗘渶澶ч珮搴?/SPAN> if ((coupleY > (BASE - jumpHeight + coupleImg.getHeight()))) { // 娌¤揪鍒版渶澶ч珮搴︼紝緇х畫涓婂崌 coupleY -= dy; } else if (coupleY == (BASE - jumpHeight + coupleImg.getHeight())) { // 鍒頒簡鏈澶ч珮搴︼紝寮濮嬩笅闄?/SPAN> coupleY += dy; // 淇敼鏂瑰悜鏍囪瘑 up = false ; } } else { // 灝忕簿鐏墊鍦ㄤ笅闄嶏紝媯鏌ユ槸鍚﹀埌鍦伴潰浜嗭紵 if (coupleY < BASE) { // 榪樻病鏈夛紝緇х畫涓嬮檷 coupleY += dy; } else if (coupleY == BASE) { // 鍒拌揪鍦伴潰錛岀畻涓涓柊鐨勯殢鏈洪珮搴︼紙灝忎簬絳変簬鏈澶ч珮搴︼級 int hyper = random.nextInt(MAX_HEIGHT + 1 ); // 淇濊瘉璺寵穬楂樺害澶т簬鍥懼儚楂樺害 if (hyper > coupleImg.getHeight()) { jumpHeight = hyper; } // 寰涓婅煩 coupleY -= dy; // 閲嶇疆鏂瑰悜鏍囪瘑 up = true ; } } }
浣犲彲鑳藉凡緇忓彂瑙夛紝榪欎釜鏂規硶涓嶄緷璧栦簬鐢ㄦ埛鐨勬寜閿紝浼犲叆鐨刱eyState淇℃伅涔熸病鏈夌敤鍒般備紶鍏ヨ繖涓兼槸涓轟簡涓巆alculateCoupleX()鏂規硶淇濇寔涓鑷淬傛柟娉曞垰寮濮嬫椂閫氳繃娓愬coupleY鍙橀噺鍊間嬌couple灝忕簿鐏典笂鍗囷紝鐩村埌杈懼埌榪欐鐨勮煩璺冮珮搴︼紙鍒氬紑濮嬫槸MAX_HEIGHT錛夈傝揪鍒拌繖涓珮搴﹀悗錛屽皬綺劇伒寮濮嬪線涓嬮檷錛岄檷鍒癇ASE鍚庡張闅忔満鐢熸垚涓涓粙浜嶮AX_HEIGHT鍜屽浘鍍忛珮搴︿箣闂寸殑鏁板鹼紝鎸夎繖涓珮搴﹀紑濮嬩笅涓嬈¤煩璺冦?/P>
娓告垙鐨勬暣涓晥鏋滄槸涓涓互闅忔満楂樺害璺寵穬鐨刢ouple灝忕簿鐏碉紝瀹冨彲浠ュ湪鐢ㄦ埛鐨勬搷綰典笅宸﹀彸縐誨姩銆傚浘3鏄父鎴忕殑涓涓埅灞忥細 鍥?3. 娓告垙鎴睆
]]>J2ME Tutorial, Part 3: 鎺㈢┒MIDP 2.0鐨勬父鎴廇PI(浜? http://www.tkk7.com/Andyluo/archive/2005/12/08/23003.html緗楁槑 緗楁槑 Thu, 08 Dec 2005 10:01:00 GMT http://www.tkk7.com/Andyluo/archive/2005/12/08/23003.html http://www.tkk7.com/Andyluo/comments/23003.html http://www.tkk7.com/Andyluo/archive/2005/12/08/23003.html#Feedback 2 http://www.tkk7.com/Andyluo/comments/commentRss/23003.html http://www.tkk7.com/Andyluo/services/trackbacks/23003.html 鍘熸枃瑙侊細http://today.java.net/pub/a/today/2005/07/07/j2me3.html?page=2 鏋勫緩涓涓狫2ME娓告垙錛氫粠GameCanvas綾誨紑濮?/STRONG>
GameCanvas綾葷戶鎵胯嚜Canvas錛屾彁渚涗簡涓涓睆騫曞悗绔殑緙撳啿鍖猴紝鎵鏈夌殑緇樺埗鎿嶄綔閮藉厛鍦ㄨ繖涓紦鍐插尯閲岃繘琛屻傚綋鎵鏈夌粯鍒舵搷浣滃畬鎴愬悗錛屾垜浠皟鐢╢lushGraphics()鏂規硶灝嗙紦鍐插尯鍐呭杈撳嚭鍒板睆騫曘傝繖縐嶅弻緙撳啿鏈哄埗鍙互浣垮浘鍍忕殑縐誨姩鏇村姞騫蟲粦錛岄伩鍏嶅浘鍍忕殑闂儊銆傜紦鍐插尯澶у皬絳変簬灞忓箷鐨勫ぇ灝忥紝鑰屼笖姣忎竴涓狦ameCanvas瀹炰緥鏈変笖浠呮湁涓涓紦鍐插尯銆?/P>
GameCanvas綾繪彁渚涗竴縐嶅瓨鍌ㄦ寜閿姸鎬佺殑鏈哄埗錛屾垜浠彲浠ラ氳繃瀹冩柟渚跨殑浜嗚В鐢ㄦ埛涓庢父鎴忕殑浜や簰銆傝繖縐嶆満鍒跺彲浠ヨ窡韙敤鎴鋒寜鐗規畩閿殑嬈℃暟錛岃皟鐢╣etKeyStates()鏂規硶榪斿洖鎵鏈夋父鎴忛敭鎸夐敭鐘舵佺殑浜岃繘鍒惰〃紺猴紝1浠h〃涓婃璋冪敤鏂規硶鍚庢寜榪囪閿紝0琛ㄧず涓婃璋冪敤鍚庤繕娌℃湁鎸夎繃璇ラ敭銆傛垜浠彲浠ヨ窡韙殑娓告垙鐘舵佹湁錛堣繖閲岀殑閿兘鏄湪Canvas綾婚噷瀹氫箟鐨勶級錛欴OWN_PRESSED, UP_PRESSED, RIGHT_PRESSED, LEFT_PRESSED, FIRE_PRESSED, GAME_A_PRESSED, GAME_B_PRESSED, GAME_C_PRESSED鍜孏AME_D_PRESSED銆?/P>
棣栧厛鎵╁睍GameCanvas綾伙紝瀹氬埗涓涓父鎴忕敾甯冿紝浠g爜瑙佹竻鍗?銆傛竻鍗?鏄繍琛屼緥瀛愮殑MIDlet銆?BR>
package com.j2me.part3; import javax.microedition.lcdui.Image; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.game.GameCanvas; import java.io.IOException; public class MyGameCanvas extends GameCanvas implements Runnable { public MyGameCanvas() { super ( true ); } public void start() { try { // 瀵煎叆couple鍥劇墖錛屽潗鏍囧畾浣嶅湪灞忓箷涓ぎ coupleImg = Image.createImage( " /couple.gif " ); coupleX = CENTER_X; coupleY = CENTER_Y; } catch (IOException ioex) { System.err.println(ioex); } Thread runner = new Thread( this ); runner.start(); } public void run() { // 鑾峰彇鐢誨竷鐨刧raphics瀵硅薄 Graphics g = getGraphics(); while ( true ) // 鏃犵┓寰幆 { // 鍩轟簬涓婁竴涓唬鐮佹竻鍗曞垪鍑虹殑緇撴瀯 // 棣栧厛媯鏌ユ父鎴忕姸鎬?/SPAN> verifyGameState(); // 媯鏌ョ敤鎴瘋緭鍏?/SPAN> checkUserInput(); // 鏇存柊灞忓箷 updateGameScreen(getGraphics()); // 浼戞伅涓涓嬶紝鎺у埗鍒鋒柊棰戠巼 try { Thread.currentThread().sleep( 30 ); } catch (Exception e) {} } } private void verifyGameState() { // 鐜板湪鍏堜笉鍋氫換浣曟搷浣?/SPAN> } private void checkUserInput() { // 鑾峰彇鎸夐敭淇℃伅 int keyState = getKeyStates(); // 璁$畻x杞翠綅緗?/SPAN> calculateCoupleX(keyState); } private void updateGameScreen(Graphics g) { // 娓呯┖灞忓箷鑳屾櫙 g.setColor( 0xffffff ); g.fillRect( 0 , 0 , getWidth(), getHeight()); // 灝哻ouple鍥劇墖緇樺埗鍒板綋鍓嶅潗鏍囦綅緗?/SPAN> g.drawImage( coupleImg, coupleX, coupleY, Graphics.HCENTER | Graphics.BOTTOM); flushGraphics(); } private void calculateCoupleX( int keyState) { // 鍒ゆ柇縐誨姩鏂瑰悜 if ((keyState & LEFT_PRESSED) != 0 ) { coupleX -= dx; } else if ((keyState & RIGHT_PRESSED) != 0 ) { coupleX += dx; } } private Image coupleImg; private int coupleX; private int coupleY; private int dx = 1 ; // 縐誨姩閲?BR> // 灞忓箷涓績 public final int CENTER_X = getWidth() / 2 ; public final int CENTER_Y = getHeight() / 2 ; }
娓呭崟 1. MyGameCanvas錛氭父鎴忕敾甯冪殑絎竴涓増鏈?/P>
娓呭崟 2 鏄嬌鐢ㄨ繖涓父鎴忕敾甯冪殑MIDlet:
package com.j2me.part3; import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet; public class GameMIDlet extends MIDlet { MyGameCanvas gCanvas; public GameMIDlet() { gCanvas = new MyGameCanvas(); } public void startApp() { Display d = Display.getDisplay( this ); gCanvas.start(); d.setCurrent(gCanvas); } public void pauseApp() {} public void destroyApp( boolean unconditional) {} }
娓呭崟 2. 榪愯娓告垙紺轟緥鐨凪IDlet綾?/P>
浣跨敤Wireless宸ュ叿寤虹珛涓涓伐紼嬶紝瀵煎叆榪欎袱涓被錛岀劧鍚庣敓鎴愬茍榪愯宸ョ▼銆傜‘淇濅綘鐨勫伐紼嬬洰褰時es涓湁榪欎釜鍥劇墖鏂囦歡 錛屽茍淇濊瘉鍚嶇О涓篶ouple.gif, 鍥?鏄繍琛岀粨鏋溿?BR>
鍥?. 鏋勫緩涓涓父鎴忥細浣跨敤GameCanvas綾?/P>
浣跨敤璁懼鐨勬柟鍚戦敭鍙互宸﹀彸縐誨姩灞忓箷涓殑灝忓浘鍍忥紝榪欐槸閫氳繃浠巆heckUserInput()閲屽彇寰楁寜閿姸鎬侊紝鐒跺悗璋冪敤calculateCoupleX()錛岄氳繃灝嗘寜閿姸鎬佷笌GameCanvas閲岄瀹氫箟鐨勬寜閿艱繘琛屼笌鎿嶄綔(&)錛屽緱鍒扮敤鎴峰綋鍓嶆寜鐨勯敭錛岀劧鍚庡皢瀹炰緥鍙橀噺鏇存柊錛屾渶緇堝弽鏄犲埌璁懼灞忓箷涓娿?/P>
鍥懼儚鏄湪updateGameScreen()鏂規硶閲岃緇樺埗鍒板睆騫曚笂鐨勩傝繖涓柟娉曚嬌鐢ㄤ紶鍏ョ殑Graphics瀵硅薄榪涜緇樺埗錛屾瘡涓涓狦ameCanvas鍙湁涓涓狦raphics瀵硅薄銆傛柟娉曢鍏堟摝闄や笂嬈$粯鍒剁殑鍥懼儚錛岀劧鍚庡熀浜庡綋鍓嶇殑coupleX鍊鹼紙榪樻湁涓鐩翠笉鍙樼殑coupleY鍊鹼級緇樺埗couple.gif鍥懼儚,鏈鍚庡皢緙撳啿鍖虹殑鏁版嵁杈撳嚭鍒板睆騫曘?/P>
run()鏂規硶閲岀殑寰幆浣撻伒寰垜浠垰寮濮嬫彁鍑虹殑娓告垙緇撴瀯銆傚驚鐜瘡30姣媯鏌ヤ竴嬈$敤鎴瘋緭鍏ュ茍鍒鋒柊灞忓箷銆備綘鍙互璇曠潃灝嗚繖涓兼敼鍙樹竴涓嬶紝榪欎細鏀瑰彉鍒鋒柊鐨勯鐜囥?/P>
鏈鍚庯紝娉ㄦ剰MyGameCanvas鐨勬瀯閫犲櫒閲岃皟鐢ㄤ簡鐖剁被GameCanvas鐨勬瀯閫犳柟娉曪紝浼犲叆鐨勫弬鏁頒負true錛岃繖琛ㄧず浠嶤anvas綾葷戶鎵跨殑鎸夐敭浜嬩歡鏈哄埗琚姂鍒朵簡錛屽洜涓烘垜浠殑浠g爜涓嶉渶瑕佽繖浜涢氱煡鏈哄埗銆傛垜浠殑娓告垙鐘舵佺敤GameCanvas閲岃嚜甯︾殑鎸夐敭淇℃伅錛堢敱getKeyStates()鏂規硶鍙栧緱錛夋潵澶勭悊宸茬粡瓚沖浜嗐傞氳繃鎶戝埗鈥渒eyPressed鈥濄佲渒eyReleased鈥濆拰鈥渒eyRepeated鈥濈瓑閫氱煡鏈哄埗錛屽彲浠ユ彁楂樻父鎴忕殑鎬ц兘銆?/P>
]]> J2ME Tutorial, Part 3: 鎺㈢┒MIDP 2.0鐨勬父鎴廇PI (涓) http://www.tkk7.com/Andyluo/archive/2005/12/07/22911.html緗楁槑 緗楁槑 Wed, 07 Dec 2005 12:40:00 GMT http://www.tkk7.com/Andyluo/archive/2005/12/07/22911.html http://www.tkk7.com/Andyluo/comments/22911.html http://www.tkk7.com/Andyluo/archive/2005/12/07/22911.html#Feedback 0 http://www.tkk7.com/Andyluo/comments/commentRss/22911.html http://www.tkk7.com/Andyluo/services/trackbacks/22911.html 鍘熸枃瑙侊細http://today.java.net/pub/a/today/2005/07/07/j2me3.html J2ME鏄竴涓緢嫻佽鐨勭敤浜庣Щ鍔ㄨ澶囨父鎴忓紑鍙戠殑騫沖彴銆侸2ME涓殑MIDP 2.0寮曞叆浜嗕竴涓柊鐨凙PI鍖咃紝瀹冩彁渚涗簡涓浜涘畾涔夊ソ鐨勬父鎴忕粨鏋勶紝榪欏湪浠ュ墠鐨?.0鐗堜腑瑕侀氳繃寰堝绱禈浠g爜鏉ュ疄鐜般傚湪榪欓儴鍒唗utorial涓紝鎴戜滑浼氬涔犺繖涓狝PI鍖咃紝鐒跺悗鐢ㄥ畠寮鍙戜竴涓皬娓告垙錛堜負浜嗗涔犻渶瑕侊紝鎴戜滑浼氱敤鍒板寘涓墍鏈夌殑綾伙級銆傝繖涓寘鏄痡avax.microedition.lcdui.game. 瀹冪殑寤虹珛鍩轟簬鎴戜滑鍓嶄袱嬈″鐨凧2ME姒傚康銆?/P>
J2ME娓告垙API錛氭憳瑕?/STRONG> javax.microedition.lcdui.game鍖呭彧鏈?涓被錛欸ameCanvas, Layer, Sprite, TiledLayer鍜孡ayerManager. 榪?涓被鎻愪緵浜嗗紑鍙戝悇縐嶆父鎴忓簲鐢ㄧ殑騫沖彴銆?/P>
Layer 鏄?STRONG>Sprite
鍜?STRONG>TiledLayer鐨勭埗綾匯傝繖涓被灝佽浜嗘父鎴忎腑鍙鍖栧厓绱犵殑琛屼負銆傚彲瑙嗗寲鍏冪礌鍙互鏄皬綺劇伒錛坰prite錛?浠h〃涓涓彲浠ュ湪灞忓箷涓婃潵鍥炵Щ鍔ㄧ殑鐙珛鍥懼艦錛堟垨緇勬垚鍔ㄧ敾鐨勪竴緇勫浘褰級錛?BR>鎴栨槸涓涓儗鏅眰錛氶氳繃寰堝皯鐨勫浘鐗囷紝灝卞彲浠ョ敓鎴愬簽澶ф父鎴忎腑鐨勮儗鏅傛垜浠彲浠ョ敤Layer鏉ュ竷緗浘褰㈠拰榪涜鍙鍖栨搷浣溿侺ayer鐨勫瓙綾婚氳繃閲嶅啓paint(Graphics g)鏂規硶灝嗗厓绱犵粯鍒跺埌灞忓箷涓娿?/P>
LayerManager 綾誨彲浠ユ帶鍒跺悇灞傜殑緇樺埗鍙婄粯鍒墮『搴忥紝鍥犳鎴戜滑鍙互鏇存柟渚垮湴綆$悊娓告垙涓殑鍙鍖栧厓绱狅紙鍖呮嫭灝忕簿鐏靛拰鑳屾櫙灞傦級銆?/P>
GameCanvas 綾繪墿灞曚簡涓婁袱鑺傛垜浠榪囩殑Canvas綾伙紙鐢誨竷錛夛紝鎻愪緵涓涓湪灞忓箷鍚庣榪愯(off-screen)鐨勭紦鍐插尯錛屾墍鏈夌粯鍒舵搷浣滈兘鍏堝湪榪欎釜緙撳啿鍖轟笂榪涜錛岀劧鍚庡啀鏄劇ず鍒板睆騫曘傚畠榪樻彁渚涗簡寰楀埌鐢ㄦ埛鎸夐敭淇℃伅鐨勫揩鎹鋒柟娉曘?/P>
鏈濂界殑瀛︿範鏂規硶搴旇鏄啓涓涓畬鏁寸殑灝忔父鎴忥紝閫氳繃榪欎釜灝忔父鎴忔垜浠彲浠ヤ簡瑙f父鎴忓埗浣滅殑鏂規柟闈㈤潰銆傛垜浠湪浠嬬粛瀹岃繖涓皬娓告垙鐨勬瀯閫犲悗錛堥拡瀵圭洰鍓嶈繕娌℃湁娓告垙寮鍙戠粡楠岀殑錛夛紝浼氬湪寮鍙戞父鎴忕殑榪囩▼涓叿浣撲粙緇嶅寘涓殑姣忎釜綾匯?/P>
鏋勫緩娓告垙鐨勭畝鐭叆闂?
娓告垙鍜屽姩鐢繪槸寤虹珛鍦ㄩ噸澶嶆墽琛屾煇孌典唬鐮佺殑鏈哄埗涓婄殑銆傝繖孌典唬鐮佽窡韙疄渚嬪彉閲忕殑鍊鹼紝鐒跺悗鏇存柊鐩稿簲鐘舵併傚熀浜庡綋鍓嶆父鎴忕姸鎬侊紝浠g爜灝嗘父鎴忓厓绱犵粯鍒跺埌灞忓箷涓娿傚疄渚嬪彉閲忓兼槸闅忕潃鐢ㄦ埛浜や簰鍜屾父鎴忓唴閮ㄨ涓鴻屾敼鍙樼殑銆?/P>
浠g爜鐨勯噸澶嶆墽琛屾槸閫氳繃灝嗚繖孌典唬鐮佹斁鍏ュ驚鐜腑瀹炵幇鐨勩傚湪榪涘叆寰幆鍓嶏紝鍏堟鏌ヤ竴涓嬪疄渚嬪彉閲忥紝鐪嬫槸鍚﹁緇х畫娓告垙錛屽惁鍒欓鍑哄驚鐜備負浜嗘帶鍒跺疄渚嬪彉閲忕殑鏇存柊棰戠巼錛堝叾瀹炴槸灞忓箷鍒鋒柊鐨勯鐜囷級錛屽驚鐜綋涓殑浠g爜搴旇姣忔浼戠湢涓孌墊椂闂達紙姣璁★級銆?/P>
娓告垙鐨勭粨鏋勫涓嬪垪浠g爜鎵紺猴細
// 涓葷被 public class MainClass { private GameCanvas canvas = new MyGameCanvas(); public MainClass() { // 寮濮嬩竴涓嚎紼?/SPAN> canvas.start(); } // 鍏朵粬浠g爜 } // 瀹為檯榪涜緇樺埗鐨勭被 public class MyGameCanvas extends GameCanvas implements Runnable { public MyGameCanvas() { // 鍒濆鍖?/SPAN> } public void start() { // 鍒濆鍖?BR> // 鎵ц緇樺埗綰跨▼ Thread runner = new Thread( this ); runner.start(); } private void run() { // 鎴栬呬嬌鐢?keeprunning = true) // keeprunning鏄竴涓帶鍒舵父鎴忕姸鎬佺殑瀹炰緥鍙橀噺 while ( true ) { // 媯鏌ユ父鎴忔槸鍚﹁揪鍒?nbsp; // 鏌愪釜杈圭晫鍊兼垨鐗規畩鏉′歡 verifyGameState(); // 浠庣敤鎴烽偅閲屽緱鍒拌緭鍏ワ紝鐒跺悗鏇存柊鎻忚堪娓告垙鍏冪礌鐘舵佺殑鍙橀噺鍊?nbsp; checkUserInput(); // 浣跨敤Graphics瀵硅薄灝嗗綋鍓嶆父鎴忕姸鎬佺粯鍒跺埌灞忓箷涓?/SPAN> updateGameScreen(getGraphics()); // 鎺у埗灞忓箷鏇存柊鐨勯鐜?nbsp; Thread.sleep(milliseconds); } } }
鎴戜滑灝嗗湪浠ヤ笅鍑犺妭涓嬌鐢ㄨ繖涓粨鏋勬潵寮鍙戜竴涓父鎴忋?/P>
]]>
主站蜘蛛池模板:
青柠影视在线观看免费 |
啦啦啦www免费视频 |
免费羞羞视频网站 |
产传媒61国产免费 |
亚洲综合男人的天堂色婷婷 |
最近免费中文字幕大全视频 |
yy一级毛片免费视频 |
亚洲精品国产手机 |
亚洲伊人久久成综合人影院 |
www视频在线观看免费 |
精品国产日韩亚洲一区91 |
午夜亚洲国产理论秋霞 |
国产精品成人免费综合 |
91精品手机国产免费 |
免费无码国产V片在线观看 |
亚洲大片免费观看 |
亚洲日韩欧洲无码av夜夜摸 |
精品国产精品久久一区免费式 |
国产成人精品免费久久久久 |
国产亚洲美女精品久久久久 |
亚洲日韩乱码中文无码蜜桃 |
亚洲精品亚洲人成在线观看下载 |
成人免费激情视频 |
毛片免费在线观看 |
曰批全过程免费视频观看免费软件 |
亚洲精品国产成人中文 |
亚洲中文字幕无码一久久区 |
日本高清免费网站 |
国产大片线上免费观看 |
久久久久久成人毛片免费看 |
免费看男人j放进女人j免费看 |
精品亚洲视频在线观看
|
亚洲精品福利视频 |
亚洲国产成人久久综合野外 |
国产精品美女午夜爽爽爽免费 |
日本视频免费高清一本18 |
乱淫片免费影院观看 |
亚洲精品无码av片 |
亚洲日本va在线观看 |
亚洲成年人免费网站 |
久久亚洲伊人中字综合精品 |