锘??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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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-cnWed, 28 Feb 2007 02:40:11 GMTWed, 28 Feb 2007 02:40:11 GMT60J2ME緗戠粶紼嬪簭涓垽鏂竴嬈℃暟鎹彂閫佺殑緇撴潫http://www.tkk7.com/Andyluo/archive/2006/03/19/36103.html緗楁槑緗楁槑Sun, 19 Mar 2006 13:30:00 GMThttp://www.tkk7.com/Andyluo/archive/2006/03/19/36103.htmlhttp://www.tkk7.com/Andyluo/comments/36103.htmlhttp://www.tkk7.com/Andyluo/archive/2006/03/19/36103.html#Feedback2http://www.tkk7.com/Andyluo/comments/commentRss/36103.htmlhttp://www.tkk7.com/Andyluo/services/trackbacks/36103.html
濡備笅浠g爜鎵紺猴細

//灝嗘帴鏀跺埌鐨勬暟鎹瓨鍒板瓧鑺傛暟緇刟rray
int聽firstChar聽=聽inputStream.read();
int聽length聽=聽inputStream.available();
byte[]聽array聽=newbyte[length+1];
array[
0]聽=聽(byte)firstChar;
inputStream.read(array,
1,length);


緗楁槑 2006-03-19 21:30 鍙戣〃璇勮
]]>
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 GMThttp://www.tkk7.com/Andyluo/archive/2005/12/16/24281.htmlhttp://www.tkk7.com/Andyluo/comments/24281.htmlhttp://www.tkk7.com/Andyluo/archive/2005/12/16/24281.html#Feedback0http://www.tkk7.com/Andyluo/comments/commentRss/24281.htmlhttp://www.tkk7.com/Andyluo/services/trackbacks/24281.html 鏋勫緩J2ME娓告垙錛氱敤TiledLayer鏋勯犺儗鏅?/b>

鍦ㄨ繖涓鑺備腑錛屾垜浠浣跨敤TiledLayer綾諱負娓告垙娣誨姞涓涓儗鏅傛父鎴忕晫闈㈠垎涓轟笁涓尯鍩燂細欏墮儴琛ㄧず澶╃┖錛宑ouple灝忕簿鐏墊墍鍦ㄧ殑涓儴鏄湴闈紝搴曢儴鏄ぇ嫻楓傛瘡涓尯鍩熷垎鍒嬌鐢ㄤ竴涓?2*32鍍忕礌鐨勪笉鍚岄鑹插浘鐗囪繘琛屽~鍏咃紝濉厖鐨勫伐浣滅敱TiledLayer綾誨畬鎴愩?br />
棣栧厛灝嗗睆騫曞垎鎴?2*32鐨勫皬鏂規牸錛岃鍜屽垪鐨勭儲寮曢兘浠?寮濮嬶紝濡傚浘4銆?br />
j2me3_figure4.gif

聽聽聽聽聽聽聽聽聽聽 鍥?4. 鍧囧寑鍒嗗壊灞忓箷

(0,0)鍒?1,4)鐨勬柟鏍艱〃紺哄ぉ絀猴紝(2,0)鍒?2,4)琛ㄧず鍦伴潰錛?3,0)鍒?4,4)琛ㄧず嫻烽潰銆傛垜浠敤鍥?涓殑鍥劇墖濉厖瀵瑰簲鏂規牸銆?br />
tiledlayer1.gif

鍥?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鍒涘緩鑳屾櫙
privatevoid聽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 />
j2me3_figure6.gif

聽聽聽 鍥?6. 娣誨姞浜嗚儗鏅殑娓告垙鎴睆

鍘熸枃瑙侊細http://today.java.net/pub/a/today/2005/07/07/j2me3.html?page=4


緗楁槑 2005-12-16 19:58 鍙戣〃璇勮
]]>
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 GMThttp://www.tkk7.com/Andyluo/archive/2005/12/12/23435.htmlhttp://www.tkk7.com/Andyluo/comments/23435.htmlhttp://www.tkk7.com/Andyluo/archive/2005/12/12/23435.html#Feedback0http://www.tkk7.com/Andyluo/comments/commentRss/23435.htmlhttp://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>
j2me3_figure2.gif


                        鍥?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鏄父鎴忕殑涓涓埅灞忥細

j2me3_figure3.GIF

                   鍥?3. 娓告垙鎴睆



緗楁槑 2005-12-12 11:39 鍙戣〃璇勮
]]>
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 GMThttp://www.tkk7.com/Andyluo/archive/2005/12/08/23003.htmlhttp://www.tkk7.com/Andyluo/comments/23003.htmlhttp://www.tkk7.com/Andyluo/archive/2005/12/08/23003.html#Feedback2http://www.tkk7.com/Andyluo/comments/commentRss/23003.htmlhttp://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(
00, 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涓湁榪欎釜鍥劇墖鏂囦歡couple.gif錛屽茍淇濊瘉鍚嶇О涓篶ouple.gif, 鍥?鏄繍琛岀粨鏋溿?BR>

j2me3_figure1.gif
鍥?. 鏋勫緩涓涓父鎴忥細浣跨敤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>

緗楁槑 2005-12-08 18:01 鍙戣〃璇勮
]]>
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 GMThttp://www.tkk7.com/Andyluo/archive/2005/12/07/22911.htmlhttp://www.tkk7.com/Andyluo/comments/22911.htmlhttp://www.tkk7.com/Andyluo/archive/2005/12/07/22911.html#Feedback0http://www.tkk7.com/Andyluo/comments/commentRss/22911.htmlhttp://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>

緗楁槑 2005-12-07 20:40 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 青柠影视在线观看免费| 啦啦啦www免费视频| 免费羞羞视频网站| 产传媒61国产免费| 亚洲综合男人的天堂色婷婷| 最近免费中文字幕大全视频| yy一级毛片免费视频| 亚洲精品国产手机| 亚洲伊人久久成综合人影院| www视频在线观看免费| 精品国产日韩亚洲一区91| 午夜亚洲国产理论秋霞| 国产精品成人免费综合| 91精品手机国产免费| 免费无码国产V片在线观看| 亚洲大片免费观看| 亚洲日韩欧洲无码av夜夜摸| 精品国产精品久久一区免费式| 国产成人精品免费久久久久| 国产亚洲美女精品久久久久| 亚洲日韩乱码中文无码蜜桃| 亚洲精品亚洲人成在线观看下载| 成人免费激情视频| 毛片免费在线观看| 曰批全过程免费视频观看免费软件| 亚洲精品国产成人中文| 亚洲中文字幕无码一久久区| 日本高清免费网站| 国产大片线上免费观看| 久久久久久成人毛片免费看| 免费看男人j放进女人j免费看| 精品亚洲视频在线观看 | 亚洲精品福利视频| 亚洲国产成人久久综合野外| 国产精品美女午夜爽爽爽免费| 日本视频免费高清一本18| 乱淫片免费影院观看| 亚洲精品无码av片| 亚洲日本va在线观看| 亚洲成年人免费网站| 久久亚洲伊人中字综合精品|