[תÌù]
Java »î¶¯Í¼Ïñ³ÌÐòºÍÓÎÏ·±àд.
Ò» ¹ØÓÚÓÃJava¹¹ÔìÓÎÏ·. ÔÚ±¾ÎÄÖбÊÕßÓÃJava±àдһ¸öСÓÎÏ·Èí¼þ.ΪʲôдÓÎÏ·Èí¼þ?ÓÎÏ·Èí¼þÒªÇóµÄ±à³ÌÄÜÁ¦½Ï¸ß,Ò²ºÜÉÙÓбÈдÓÎÏ·Èí¼þ¸ü¼Ó¼¤¶¯ÈËÐĵĴ´ÔìÐÔ¹¤×÷ÁË.Òò´Ë,дÓÎÏ·ÊǺܺõÄѧϰ±à³ÌµÄÊÖ¶Î:±ÊÕßÏàÐÅÒ»¾äÀÏ»°:\\"È¡·¨ºõÉÏ,µÃºõÆäÖÐ\\". ¼ÙÈç¶ÁÕß¿ÉÒÔŪ¶®±¾Îĸø³öµÄ¸÷ÖÖËã·¨,²¢¾ÙÒ»·´Èý,ÏàÐÅ¿ÉÒԺܿìÕÆÎÕĿǰÁ÷ÐеĻÖ÷Ò³µÄ±àд·½·¨. ÏÔÈ»,ÓÃJava¹¹ÔìÉÌÆ·»¯µÄÓÎÏ·Èí¼þĿǰ²»¿ÉÄÜ.Ϊʲô?C++±à³ÌµÄÓÎÏ·,Æä×îÖÕÔËÐÐÎļþÊÇÔËÐÐÆ½Ì¨µÄÖÐÑë´¦Àí»úµÄ»úÆ÷Âë,ÔËÐÐËÙ¶ÈÏ൱¸ß.¶øJava½«ÒÔ×Ö½ÚÂëµÄÐÎʽÔËÐÐÓÚJavaÐéÄâ»úÉÏ,ЧÂʵÍÏÂ.µ«±ÊÕßÏ£Íûͨ¹ý±¾ÆªÎÄÕÂÄܶÔJavaµÄ³õѧÕßÌṩ°ïÖú,ŪÇåһЩJava±à³Ì¼¼ÇÉ,Èçʼþ,Ïß³Ì,¶¯»,Ë«»º³åͼÏñ,¸´ºÏ¼ü¿ØÖÆ,µÈ.Ò»·½ÃæÓÐÖúÓÚJava±à³Ìѧϰ,ÁíÒ»·½Ã漴ʹʹÓÃC»òC++±à³Ì,±¾ÎĵÄËã·¨ºÍ¼¼ÇÉÒ²¶¼ÓÐÏ൱¼ÛÖµ. ±¾Îļٶ¨¶ÁÕßÓÐÒ»¶¨µÄJava±à³Ì³£Ê¶,Ò²³õ²½Àí½âÃæÏò¶ÔÏóµÄº¬Òå.ͬʱ,Ϊ±ãÓÚʵ¼ù,¶ÁÕß×îºÃÄÜ×Ô¼ºÊ¹ÓÃPhotoShopÖ®ÀàµÄͼÏñ´¦ÀíÈí¼þ±à¼Í¼Æ¬.³ÌÐòÔÚIE4.0ÏÂÔËÐÐ.
¶þ ×î¼òµ¥µÄ³ûÐÎ:Ö§³Ö¸´ºÏ¼ü¿ØÖƵÄС·½¿é. Ê×ÏÈÎÒÃÇҪд³öÒ»¸öÄÜÔÚÆÁÄ»ÉÏËæÐÄËùÓûÒÆ¶¯µÄС·½¿é.Óû§ÓüüÅÌ¿ØÖÆÐ¡·½¿éµÄÒÆ¶¯,µ«Ö§³Ö¸´ºÏ¼ü¿ØÖÆ.±ÈÈç,¼ÙÈçÓû§°´ÏÂÏòÉϼü,С·½¿éÏòÉÏÒÆ¶¯.Óû§ÓÖ°´ÏÂÁËÏòÓÒ¼ü,С·½¿éÏòÓÒÉÏ·½Òƶ¯.ËæºóÓû§ËÉ¿ªÏòÓÒ¼ü,С·½¿é»Ö¸´ÏòÉÏÒÆ¶¯. ¹Ø¼üÊdzÌÐòÖÐÓÐËĸö±íʾ·½ÏòµÄ²¼¶û±äÁ¿.±äÁ¿µÄÖµËæ¼üÅ̵Ä״̬¸Ä±ä¶ø¸Ä±ä,°´ÏÂij¸ö·½Ïò¼ü,ÏàÓ¦µÄ·½Ïò²¼¶û±äÁ¿ÖÃλ;ËÉ¿ª,¾ÍÇåÁã.С·½¿éµÄÒÆ¶¯¸ù¾ÝËĸö·½Ïò²¼¶û±äÁ¿µÄֵȷ¶¨,ij·½ÏòΪtrue,¾ÍÏòÄĸö·½ÏòÒÆ¶¯.¶ÁÕß¿ÉÒÔÉèÏë,¼ÙÈçÓû§°´ÏÂÏòÉϼü,ÏòÉϲ¼¶û±äÁ¿Îªtrue,С·½¿éÏòÉÏÒÆ¶¯,ÓÖ°´ÏÂÏòÓÒ¼ü,ÏòÓÒ²¼¶û±äÁ¿Îªtrue,С·½¿éÓÖÏòÓÒÒÆ¶¯,×ÜÌåЧ¹û¾ÍÊÇÏòÓÒÉÏÒÆ¶¯.Óû§ÔÙ°´ÏÂÏò×ó¼ü,С·½¿éÏòÉÏ,ÏòÓÒ,ÔÙÏò×ó,×ÜÌå½á¹û¾ÍÊÇÏòÉÏ.ҪעÒâµÄÊÇ,Óû§±ØÐëʹÓÃÊý×Ö¼üÅÌÇøµÄ·½Ïò¼ü! ´ËÍâ,¶ÁÕßÓ¦ÏÈÓÃÊó±êÆ÷ÔÚ³ÌÐòÔËÐÐ»ÃæÉϵã»÷Ò»´Î,ʹÆÁÄ»½¹µãÂäÔÚ±¾³ÌÐòÉÏ. ³ÌÐòÖÐÓüüÅÌʼþÀ´¿ØÖƱíʾ·½ÏòµÄ²¼¶û±äÁ¿µÄÖµ,°´Ï¼ü,ÖÃtrue;ËÉ¿ª,ÖÃfalse.С·½¿éµÄÒÆ¶¯ÓÉÏß³ÌÍê³É,ÒòΪÏ߳̿ÉÒÔ²»ÒªÈκμ¤ÀøÖܶø¸´Ê¼µÄ²»¶ÏÔËÐÐ.ÏÂÃæÊdzÌÐò´úÂë.×¢Òâ:ÎļþÃûÒª½Ðwumin1.java ÊäÈë±àÒëºó,»¹ÒªÊäÈëÒ»¸öHTMLÎļþʹËüÔÚä¯ÀÀÆ÷ÖпÉÒÔÔËÐÐ.±¾ÎÄÒ»Ñù¸ø³ö·¶Àý.
import java.awt.*; import java.applet.*;
public class wumin1 extends Applet { carton carton_1=null;//ÉùÃ÷Ò»¸öcartonÀàµÄʵÀý.
public void start() { if (carton_1==null)//¼ÙÈçδ³õʼ»¯ { carton_1=new carton(getGraphics(),this);//³õʼ»¯ carton_1.start();//Æô¶¯ } }
public void stop() { carton_1.stop();//Í£Ö¹ carton_1=null;//ÊÍ·Å×ÊÔ´ }
//¼ü±»°´ÏÂʼþµÄ´¦Àí. public boolean keyDown(Event e,int key) { if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»°´Ï carton_1.set_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»°´Ï carton_1.set_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃtrue if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»°´Ï carton_1.set_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÖÃtrue if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»°´Ï carton_1.set_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue return true; }
//¼ü±»ËÉ¿ªÊ¼þµÄ´¦Àí. public boolean keyUp(Event e,int key) { if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»ËÉ¿ª carton_1.clear_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»ËÉ¿ª carton_1.clear_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃfalse if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»ËÉ¿ª carton_1.clear_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÖÃfalse if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»ËÉ¿ª carton_1.clear_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃfalse return true; } }
//С·½¿éËùÊôÀàµÄÃèÊö class carton extends Thread//´ÓThreadÀàÅÉÉú { boolean up=false,down=false,left=false,right=false;//Ëĸö±íʾ·½ÏòµÄ²¼¶û±äÁ¿ int position_x=200,position_y=150;//×ø±ê.³õʼλÖÃÊÇ(200,150) Applet applet; Graphics g; int sleep_time=5;//˯Ãßʱ¼ä
Color my_color;
//³õʼ»¯Ê±Òª½«¸÷ÖÖ»·¾³×¼±¸ºÃ public carton(Graphics a,Applet app) { g=a; applet=app; }
//ÕâÊÇÖ÷ÔËÐк¯Êý. public void run() { while(true)//´Ëº¯ÊýÒ»Ö±ÔËÐÐ { set_position();//¼ÆËãС·½¿é×ø±ê
draw_image();//»Ð¡·½¿é
try//±ê×¼µÄÔÝÍ£·½Ê½ { sleep(sleep_time); } catch(InterruptedException e) { } } }
//¼ÆËãС·½¿éµÄ×ø±ê public void set_position() { if(up==true && position_y>1)//¼ÙÈçÏòÉϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±ê´óÓÚ1 position_y--;//С·½¿éÏòÉÏÒÆ¶¯ if(down==true && position_y<330)//¼ÙÈçÏòϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±êСÓÚ330 position_y++;//С·½¿éÏòÏÂÒÆ¶¯ if(left==true && position_x>1)//¼ÙÈçÏò×óµÄ¼ü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±ê´óÓÚ1 position_x--;//С·½¿éÏò×óÒÆ¶¯ if(right==true && position_x<380)//¼ÙÈçÏòÓҵļü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±êСÓÚ380 position_x++;//С·½¿éÏòÓÒÒÆ¶¯ }
//»ÆÁÄ» public void draw_image() { my_color=new Color(179,179,179); g.setColor(my_color); g.fillRect(0,0,400,350);//»±³¾°
my_color=new Color(100,100,100); g.setColor(my_color); g.fillRect(position_x,position_y,20,20);//¸ù¾ÝС·½¿éµÄ×ø±ê»Ð¡·½¿é }
//±íʾ·½ÏòµÄ²¼¶û±äÁ¿µÄÖÃtrue·½·¨ public void set_direction(int direction_) { switch(direction_) { case(0)://ÏòÉϼü±»°´ÏÂÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃλ up=true; break; case(1)://Ïòϼü±»°´ÏÂÔòÏòϵIJ¼¶û±äÁ¿ÖÃλ down=true; break; case(2)://Ïò×ó¼ü±»°´ÏÂÔòÏò×óµÄ²¼¶û±äÁ¿ÖÃλ left=true; break; case(3)://ÏòÓÒ¼ü±»°´ÏÂÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃλ right=true; break; default: break; } }
//±íʾ·½ÏòµÄ²¼¶û±äÁ¿µÄÖÃfalse·½·¨ public void clear_direction(int direction_) { switch(direction_) { case(0)://ÏòÉϼü±»ËÉ¿ªÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse up=false; break; case(1)://Ïòϼü±»ËÉ¿ªÔòÏòϵIJ¼¶û±äÁ¿ÖÃfalse down=false; break; case(2)://Ïò×ó¼ü±»ËÉ¿ªÔòÏò×óµÄ²¼¶û±äÁ¿ÖÃfalse left=false; break; case(3)://ÏòÓÒ¼ü±»ËÉ¿ªÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃfalse right=false; break; default: break; } } }
ÏÂÃæÊÇHTMLÎļþ <APPLET CODE=\\"wumin1.class\\"WIDTH=400 HEIGHT=370></APPLET> Èý С·½¿é±ä³É¶¯»¿¨Í¨. ÏÖÔÚÎÒÃÇÔöÇ¿³ÌÐò¹¦ÄÜ.ûÓÐÈËÔ¸Òâ¿´µ½Ëû¿ØÖƵĶÔÏóÊÇÒ»¸ö´ô°åС·½¿é.³ÌÐò¸Ä¶¯ºó,С·½¿é½«ÓÐÈçϱ仯: Óû§²»°´ÏÂÈκοØÖƼü,С·½¿é¾²Ö¹,µ«ËüÖÜÆÚÐԵĸıä×Ô¼ºµÄͼÑù.´Ëºó,ÎÒÃDz»ÔÙ°ÑÎÒÃÇ¿ØÖƵĶÔÏó½ÐС·½¿é,¶ø½ÐС¿¨Í¨\\"¸ñ¸ñ\\".Óû§°´Ï·½Ïò¼üºó,¸ñ¸ñµÄÑù×Ó±ä³ÉÖ¸ÏòÄǸö·½ÏòµÄ¼ýÍ·. Ê×ÏȶÁÕßÓÃPhotoShopÖ®ÀàµÄͼÏñ´¦ÀíÈí¼þÉú³ÉÏÂÃæ°Ë¸öͼƬ.×¢Òâ:ͼƬ´óС¶¼ÊÇ10 X 10µã,´øÓÐÈç±¾ÎÄËùʾһÑùµÄAlphaͨµÀ(AlphaͨµÀµÄºÚÉ«²¿·Ö½«Ê¹Í¼Æ¬µÄ¶ÔÓ¦²¿·Ö͸Ã÷,´Ó¶ø²»±»ÏÔʾ³öÀ´,ÕâÑù±³¾°¾Í¿É¼ûÁË),ÓÃGIF¸ñʽ´æÅÌ.ÕâЩͼƬ¾ÍÊǸñ¸ñÒÆ¶¯Ê±µÄÏÔʾͼƬ.ͼƬµÄÎļþÃû¾ÍÓÃÏàӦͼƬÏÂÃæµÄ.
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
ÏòÉÏͼƬ AlphaͨµÀ ÓÒÉÏͼƬ AlphaͨµÀ ÏòÓÒͼƬ AlphaͨµÀ ÓÒÏÂͼƬ AlphaͨµÀ
up.gif up_right.gif right.gif down_right.gif
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
ÏòÏÂͼƬ AlphaͨµÀ ×óÏÂͼƬ AlphaͨµÀ Ïò×óͼƬ AlphaͨµÀ ×óÉÏͼƬ AlphaͨµÀ
down.gif down_left.gif left.gif up_left.gif
È»ºó¶ÁÕßÔÙÓÃPhotoShopÖ®ÀàµÄͼÏñ´¦ÀíÈí¼þÉú³ÉÏÂÃæÁ½¸öͼƬ.ͼƬ´óС¶¼ÊÇ20 X 20µã,ͬÑù´øÓÐAlphaͨµÀ.ÓÃGIF¸ñʽ´æÅÌ,ÕâÊǸñ¸ñ¾²Ö¹Ê±µÄÏÔʾͼƬ,ËüÃDZ»½»ÌæÏÔʾÒÔÐγɶ¯»Ð§¹û.ͼƬµÄÎļþÃû¾ÍÓÃÏàӦͼƬÏÂÃæµÄ.
|||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| |||||||
¸ñ¸ñͼƬ1 AlphaͨµÀ ¸ñ¸ñͼƬ2 AlphaͨµÀ
center_open.gif center_close.gif
¸ñ¸ñ¾²Ö¹Ê±»ÃæµÄ´¦ÀíºÜ¼òµ¥.¼ÙÈç¸ñ¸ñÏÖÔÚµÄλÖú͸ղÅÏàͬ,±íʾ¸ñ¸ñ¾²Ö¹.´Ëʱ,¹ýÒ»¶Îʱ¼ä,¾Í¸ü»»¸ñ¸ñµÄͼƬ.¸ñ¸ñµÄÑù×ӾͻáÖÜÆÚÐԵĸıäÐγɶ¯»Ð§¹û. ÒÆ¶¯Ê±ÅжϾͲ»ºÃ°ìÁË.Óû§¿ÉÄܰ´ÏÂÒ»¸ö,Á½¸ö,ÉõÖÁÈý¸ö·½Ïò¼ü,Ëĸö·½ÏòÒ»¼Ó×éºÏ,¿ÉÄÜÐÔÌ«¶à,ºÜÄѸù¾ÝÄǸö·½Ïò¼ü±»°´ÏÂÁËÀ´Ñ¡ÔñÓ¦¸ÃÏÔʾÄǸöͼƬ.ÎÒÃÇÓÃÈçϼ¼Çɽâ¾öÎÊÌâ: Óøñ¸ñÏÖÔÚµÄλÖú͸ղŵÄλÖñȽÏ,ÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒ±ß,˵Ã÷¸ñ¸ñÔÚÏòÓÒÒÆ¶¯,¾ÍÑ¡ÔñÏòÓÒµÄͼƬÏÔʾ;ÔÚÓÒÉÏ·½,˵Ã÷¸ñ¸ñÔÚÏòÓÒÉÏ·½Òƶ¯,¾ÍÑ¡ÔñÏòÓÒÉÏ·½µÄͼƬÏÔʾ,µÈµÈ.ÕâÑù,×î¶àÖ»ÓаËÖÖ¿ÉÄÜ,±ãÓÚ´¦ÀíÁË.ÏàÐŶÁÕß»áÓа취Èøñ¸ñÒÆ¶¯Ê±Ò²ÏÔʾ¶¯»Í¼Ïñ. È»ºóÎÊÌâ¾ÍÀ´ÁË.»Ãæ±»ÏÔʾµÄͬʱ,³ÌÐòÓÖÔڸıäËü,ÓÚÊÇ»ÃæÉÁ˸.Õâʱ³ÌÐò±ØÐëʹÓÃË«»º³å¼¼Êõ.Ë«»º³åµÄº¬ÒåÊÇ:ÄãÔÚÄÚ´æÖпª±ÙÒ»Æ¬ÇøÓò×÷Ϊºǫ́»Ãæ,³ÌÐò¶ÔËü¸üÐÂ,ÐÞ¸Ä,Íê³Éºó,ÔÙÏÔʾËü.ÕâÑù,±»ÏÔʾµÄͼÏñÓÀÔ¶ÊÇÒѾÍêÈ«»ºÃµÄͼÏñ,³ÌÐòÐ޸ĵÄÒ²²»ÊÇÕýÔÚ±»ÏÔʾµÄͼÏñ.Ë«»º³å¼¼Êõ¿ÉÒÔÍêÈ«½â¾öͼÏñµÄÉÁ˸ÎÊÌâ. ¶ÁÕß¿ÉÒÔÕâÑùʹÓÃË«»º³å¼¼Êõ: 1.ʹÓà Image ÀàµÄ CreatImage(int weith, int heigh) ´´½¨ºǫ́ͼÏñ. Èç: Image off_screen_buffer= null; off_screen_buffer=createImage(400,350);//´´½¨¿íΪ400µã,¸ßΪ300µãµÄͼÏñ. 2.ʹÓà Graphics ÀàµÄgetGraphics()ȡͼÐÎÉ豸»·¾³. Èç: Graphics off_screen=off_screen_buffer.getGraphics(); 3.ÔÚ´ËͼÐÎÉ豸»·¾³Éϻͼ,ÕâʱÊÇ»ÔÚºǫ́ͼÏñÉϵÄ. Èç: off_screen.drawImage(back_ground,0,0,this); 4.ÏÔʾ.¼ÙÈ統ǰͼÐÎÉ豸»·¾³ÊÇg. Èç: g.drawImage(off_screen_buffer); ²¢²»¸´ÔÓ,¶Ô²»¶Ô?
ÏÂÃæ¸ø³ö³ÌÐò.ÒÀÈ»ÅäºÏÉÏÃæµÄHTMLÔÚä¯ÀÀÆ÷ÖÐÔËÐÐ.Ϊʹ³ÌÐòÈÝÒ×±»Àí½â,±ÊÕßÒÀÈ»¸ø³öÈ«²¿µÄ³ÌÐòÂë.
import java.awt.*; import java.applet.*;
public class wumin1 extends Applet { carton carton_1=null;//ÉùÃ÷Ò»¸öcartonÀàµÄʵÀý.
public void start() { if (carton_1==null)//¼ÙÈçδ³õʼ»¯ { carton_1=new carton(getGraphics(),this);//³õʼ»¯? carton_1.start();//Æô¶¯? } }
public void stop() { carton_1.stop();//Í£Ö¹? carton_1=null;//ÊÍ·Å×ÊÔ´? }
//¼ü±»°´ÏÂʼþµÄ´¦Àí. public boolean keyDown(Event e,int key) { if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»°´Ï carton_1.set_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»°´Ï carton_1.set_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃtrue if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»°´Ï carton_1.set_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿true if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»°´Ï carton_1.set_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue return true; }
//¼ü±»ËÉ¿ªÊ¼þµÄ´¦Àí. public boolean keyUp(Event e,int key) { if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»ËÉ¿ª carton_1.clear_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»ËÉ¿ª carton_1.clear_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃfalse if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»ËÉ¿ª carton_1.clear_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÖÃfalse if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»ËÉ¿ª carton_1.clear_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃfalse return true; } }
//¸ñ¸ñËùÊôÀàµÄÃèÊö class carton extends Thread//´ÓThreadÀàÅÉÉú { Graphics g,off_screen=null;//gÊǵ±Ç°µÄͼÐÎÉ豸»·¾³,off_screenÊǺǫ́»º³åÇøÍ¼ÐÎÉ豸»·¾³ boolean up=false,down=false,left=false,right=false;//Ëĸö·½Ïò²¼¶û±äÁ¿ boolean img_now_switch=true;//ͼƬÇл»¿ª¹Ø. int position_x=200,position_y=150,pos_x,pos_y;//(position_x,position_y)ÊǸñ¸ñµ±Ç°Î»ÖÃ,(pos_x,pos_y)ÊǸղŵÄλÖà int img_now_switch_count=0;//¸ñ¸ñͼƬÇл»¼ÆÊý.µ½Ò»¶¨Öµ¾ÍÇл» int img_now_switch_count_top=30;//Çл»Öµ.ͼƬÇл»¼ÆÊýµ½´ËÖµ,¾ÍÇл» Image img_center_close,img_center_open,img_up,img_down,img_left; Image img_right,img_up_left,img_up_right,img_down_left,img_down_right;//È«²¿µÄͼƬ Image img_now;//ÏÖÔÚÒªÏÔʾµÄͼƬ(µ±Ç°Í¼Æ¬).Ëü»á¸Ä±äµÄ Image off_screen_buffer=null;//ºǫ́ͼÐλº³å Applet applet;
int sleep_time=5;
Color my_color;
//³õʼ»¯Ê±Òª½«¸÷ÖÖ»·¾³×¼±¸ºÃ public carton(Graphics a,Applet app) { g=a; applet=app;
//ÏÂÃæ°ÑËùÓÐÒªÓõÄͼƬµ÷Èë img_center_close=applet.getImage(applet.getCodeBase(),\\"center_close.gif\\"); img_center_open=applet.getImage(applet.getCodeBase(),\\"center_open.gif\\");
img_up=applet.getImage(applet.getCodeBase(),\\"up.gif\\"); img_down=applet.getImage(applet.getCodeBase(),\\"down.gif\\"); img_left=applet.getImage(applet.getCodeBase(),\\"left.gif\\"); img_right=applet.getImage(applet.getCodeBase(),\\"right.gif\\"); img_up_left=applet.getImage(applet.getCodeBase(),\\"up_left.gif\\"); img_up_right=applet.getImage(applet.getCodeBase(),\\"up_right.gif\\"); img_down_left=applet.getImage(applet.getCodeBase(),\\"down_left.gif\\"); img_down_right=applet.getImage(applet.getCodeBase(),\\"down_right.gif\\");
//ÉèÖõ±Ç°Í¼Æ¬ img_now=img_center_open;
//´´½¨ºǫ́»º³åÇø,²¢È¡ÆäͼÐÎÉ豸»·¾³ off_screen_buffer=applet.createImage(400,350); off_screen=off_screen_buffer.getGraphics(); }
//ÕâÊÇÖ÷ÔËÐк¯Êý. public void run() { while(true)//´Ëº¯ÊýÒ»Ö±ÔËÐÐ { set_position();//¼ÆËã¸ñ¸ñµÄ×ø±ê
select_image();//Ñ¡Ôñµ±Ç°Í¼Æ¬
draw_image();//»¸ñ¸ñ
try//±ê×¼µÄÔÝÍ£·½Ê½ { sleep(sleep_time); } catch(InterruptedException e) { } } }
//¼ÆËã¸ñ¸ñµÄ×ø±ê public void set_position() { //Ê×Ïȱ£Áôµ±Ç°Î»ÖÃ×ø±êÖµ pos_x=position_x; pos_y=position_y;
if(up==true && position_y>1)//¼ÙÈçÏòÉϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±ê´óÓÚ1 position_y--;//С·½¿éÏòÉÏÒÆ¶¯ if(down==true && position_y<330)//¼ÙÈçÏòϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±êСÓÚ330 position_y++;//С·½¿éÏòÏÂÒÆ¶¯ if(left==true && position_x>1)//¼ÙÈçÏò×óµÄ¼ü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±ê´óÓÚ1 position_x--;//С·½¿éÏò×óÒÆ¶¯ if(right==true && position_x<380)//¼ÙÈçÏòÓҵļü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±êСÓÚ380 position_x++;//С·½¿éÏòÓÒÒÆ¶¯ }
//»ÆÁÄ» public void draw_image() {
my_color=new Color(179,179,179); off_screen.setColor(my_color); off_screen.fillRect(0,0,400,350);//ÔÚºǫ́»±³¾°
off_screen.drawImage(img_now,position_x,position_y,applet);//ÔÚºǫ́»¸ñ¸ñ
g.drawImage(off_screen_buffer,0,0,applet);//Ë͵½Ç°¾°ÏÔʾ }
//Ñ¡ÔñͼƬ public void select_image() { //¼ÙÈç¸ñ¸ñûÓж¯ if(position_x==pos_x && position_y==pos_y) { img_now_switch_count++;//Çл»¼ÆÊý¼Ó1 if (img_now_switch_count==img_now_switch_count_top)//¼ÆÊýµ½ÁËÇл»Öµ { img_now_switch=!img_now_switch;//Çл»±ê־ȡ·´ img_now_switch_count=0;//Çл»¼ÆÊýÇåÁã } //Çл»±ê־Ϊtrue,Ñ¡Ôñimg_center_openÈ¥ÏÔʾ;Ϊfalse,Ñ¡Ôñimg_center_closeÈ¥ÏÔʾ img_now=(img_now_switch)?img_center_open:img_center_close; }
if(position_x==pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÉÏ·½ img_now=img_up;//Ñ¡Ôñimg_upÈ¥ÏÔʾ if(position_x>pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒÉÏ·½ img_now=img_up_right;//Ñ¡Ôñimg_up_rightÈ¥ÏÔʾ if(position_x>pos_x && position_y==pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒ·½ img_now=img_right;//Ñ¡Ôñimg_rightÈ¥ÏÔʾ if(position_x>pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒÏ·½ img_now=img_down_right;//Ñ¡Ôñimg_down_rightÈ¥ÏÔʾ if(position_x==pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÏ·½ img_now=img_down;//Ñ¡Ôñimg_downÈ¥ÏÔʾ if(position_x<pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×óÏ·½ img_now=img_down_left;//Ñ¡Ôñimg_down_leftÈ¥ÏÔʾ if(position_x<pos_x && position_y==pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×ó·½ img_now=img_left;//Ñ¡Ôñimg_leftÏÔʾ if(position_x<pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×óÉÏ·½ img_now=img_up_left;//Ñ¡Ôñimg_up_leftÈ¥ÏÔʾ }
//±íʾ¸ñ¸ñÒÆ¶¯·½ÏòµÄ²¼¶û±äÁ¿µÄÖÃλ·½·¨ public void set_direction(int direction_) { switch(direction_) { case(0)://ÏòÉϼü±»°´ÏÂÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue up=true; break; case(1)://Ïòϼü±»°´ÏÂÔòÏòϵIJ¼¶û±äÁ¿true down=true; break; case(2)://Ïò×ó¼ü±»°´ÏÂÔòÏò×óµÄ²¼¶û±äÁ¿true left=true; break; case(3)://ÏòÓÒ¼ü±»°´ÏÂÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue right=true; break; default: break; } }
//±íʾ¸ñ¸ñÒÆ¶¯·½ÏòµÄ²¼¶û±äÁ¿µÄÇåÁã·½·¨ public void clear_direction(int direction_) { switch(direction_) { case(0)://ÏòÉϼü±»ËÉ¿ªÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse up=false; break; case(1)://Ïòϼü±»ËÉ¿ªÔòÏòϵIJ¼¶û±äÁ¿ÖÃfalse down=false; break; case(2)://Ïò×ó¼ü±»ËÉ¿ªÔòÏò×óµÄ²¼¶û±äÁ¿ÖÃfalse left=false; break; case(3)://ÏòÓÒ¼ü±»ËÉ¿ªÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃfalse right=false; break; default: break; } } }
ËÄ ¸ñ¸ñ»á¿ªÇ¹ÁË ¸ñ¸ñÅÜÀ´ÅÜÈ¥¿ÉÒÔ×öµãÊÂÇéÁË.ÈÃÎÒÃǰÑËýÎä×°ÆðÀ´.ÏÖÔÚËýÓÐÒ»°Ñǹ,¿ÉÒÔÏòÔ˶¯·½ÏòÉè»÷.Óû§Ã¿ËÉ¿ªÒ»´Î¿Õ¸ñ¼ü(²»Êǰ´ÏÂ!²»¹ýÒªÊǶÁÕßÔ¸Òâ,¿ÉÒԸijɰ´ÏÂ:¿ªÇ¹ËÙ¶È»á¿ìºÜ¶à,»ú¹ØÇ¹!),¸ñ¸ñ¿ªÒ»Ç¹. ´¦Àí×Óµ¯ÓеãÂé·³.Ê×ÏȳÌÐòÊÂÏȲ»ÖªµÀ»áÓм¸¿Å×Óµ¯Òª´¦Àí,Æä´Î,¿ÉÄÜÏÈ·¢ÉäµÄ×Óµ¯»¹ÔÚÆÁÄ»ÉÏ,µ«ºó·¢ÉäµÄ¾ÍÒѾԽ³öÆÁÄ»±ß½ç»ò»÷ÖÐÄ¿±ê²»Òª´¦ÀíÁË. ÓÃÁ´±íËã·¨´¦Àí×Óµ¯µ¹ÊǺܷ½±ã.¿ªÒ»Ç¹,¼ÓÈëÒ»¸ö½Úµã,ÓÐÒ»¸ö×Óµ¯Ô½³öÆÁÄ»±ß½ç,¾Íɾ³ýÏàÓ¦½Úµã.µ«Á´±í±à³ÌËã·¨ÄѶȴó,Ϊʹ³õѧÕßÒ×ÓÚÀí½â,±ÊÕßûÓÐÓÃ.Æäʵ»¹ÓбÈÁ´±í¸üºÃµÄ·½·¨,¼ÙÈçÉè¼ÆÒ»¸ö×Óµ¯Àà,ÿ¸ö×Óµ¯ÊÇÒ»¸öʵÀý,ʵÀýÖÕÖ¹µÄÌõ¼þÊÇ×Óµ¯»÷ÖÐÄ¿±ê»òÔ½³öÆÁÄ»±ß½ç,ÕâÑù¸üºÃ.µ«±ÊÕßµÄÄ¿µÄÊÇÔÚ±¾ÎÄÖо¡Á¿Ìṩ¸ü¶àµÄËã·¨,Òò´ËÏóÏÂÃæÕâÑù´¦Àí: ³ÌÐòÖе±Óû§ËÉ¿ª¿Õ¸ñ¼üºó,ÒªÇó¿ªÇ¹µÄ²¼¶û±äÁ¿ÖÃλ.ËæºóÈç¹û¸ñ¸ñÔÚÒÆ¶¯,¾ÍÏò¼Í¼×Óµ¯×´Ì¬µÄµÄÊý×é¼ÓÈëÒ»¸öÔªËØ(¸ñ¸ñ¾²Ö¹Ê±,³ÌÐò²»ÖªµÀÏòÄĸö·½ÏòÉä»÷,¹Ê²»×¼¿ªÇ¹),¼ÇÏÂÕâ¿Å×Óµ¯µÄ³õʼλÖúͷ½Ïò,ͬʱ×Óµ¯¼ÆÊý¼ÓÒ». ×Óµ¯Ô½³öÆÁÄ»±ß½çºó,ɾ³ý¼Í¼Õâ¿Å×Óµ¯Î»ÖõÄÔªËØ,ͬʱºóÃæµÄÔªËØÏòÇ°ÒÆ¶¯,Ìî²¹¿Õȱ,Òò´Ë¼Í¼×Óµ¯Î»ÖõÄÊý×é×ÜÊÇ\\"Ãܼ¯\\"µÄ.Ëæºó,×Óµ¯¼ÆÊý¼õÒ». ±ÈÈç,Êý×éÖÐÓÐ0,1,2,3,4ºÅÔªËØ,˵Ã÷ÓÐ5¿Å×Óµ¯.µÚ¶þ¿Å(1ºÅ)×Óµ¯Ô½³öÆÁÄ»±ß½çºó,2,3,4ºÅÔªËØ»áÏòÇ°ÒÆ¶¯,Òò´Ë,Êý×é±äΪӵÓÐ0,1,2,3ºÅÔªËØ.ÆäÖÐ0ºÅÔªËØºÍÔÀ´Ò»Ñù,1ºÅÔªËØµÄÄÚÈÝÊÇÔÀ´2ºÅÔªËØµÄÄÚÈÝ,2ºÅÔªËØµÄÄÚÈÝÊÇÔÀ´3ºÅÔªËØµÄÄÚÈÝ,ÒÀ´ËÀàÍÆ.³ÌÐò»áÒÀ´Î´¦Àíÿһ¿Å×Óµ¯,ÿ·¢ÏÖij¿Å×Óµ¯Ô½³öÆÁÄ»±ß½ç»ò»÷ÖÐÄ¿±ê,¾ÍÈ¥µôËü,ͬʱ½«ËüºóÃæµÄ×Óµ¯Êý¾ÝÇ°ÒÆÀ´Ìî²¹Õâ¸ö¿Õȱ. ÏÂÃæÊÇ×Óµ¯µÄͼÏñºÍеijÌÐòÂë.×Óµ¯Í¼ÏñµÄ·ùÃæÊÇ10 X 10µã.ͬʱÒýÈëÁËÉùÒô.ҪעÒâµÄÊÇ,ÉùÒô±ØÐëÊÇ.au¸ñʽµÄ,ͬʱ,³ÖÐøÊ±¼äÒÔ²»³¬¹ý1ÃëΪºÃ.±³¾°ÒôÀÖ¿ÉÒÔ³¤Ò»Ð©,×Ô¼ºÑ¡.
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
×Óµ¯ÏòÉÏͼƬ AlphaͨµÀ ×Óµ¯ÓÒÉÏͼƬ AlphaͨµÀ ×Óµ¯ÏòÓÒͼƬ AlphaͨµÀ ×Óµ¯ÓÒÏÂͼƬ AlphaͨµÀ
bullet_up.gif bullet_up_right.gif bullet_right.gif bullet_down_right.gif
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
×Óµ¯ÏòÏÂͼƬ AlphaͨµÀ ×Óµ¯×óÏÂͼƬ AlphaͨµÀ ×Óµ¯Ïò×óͼƬ AlphaͨµÀ ×Óµ¯×óÉÏͼƬ AlphaͨµÀ
bullet_down.gif bullet_down_left.gif bullet_left.gif bullet_up_left.gif
import java.awt.*; import java.applet.*;
public class wumin1 extends Applet { carton carton_1=null;//ÉùÃ÷Ò»¸öcartonÀàµÄʵÀý. AudioClip back_ground_music;//ÉùÃ÷Ò»¸öÉùÒôʵÀý.ÕâÊDZ³¾°ÒôÀÖ
public void init() { back_ground_music=getAudioClip(getCodeBase(),\\"spacemusic.au\\"); back_ground_music.loop();//±³¾°ÒôÀÖÑ»·²¥·Å }
public void start() { if (carton_1==null)//¼ÙÈçδ³õʼ»¯ { carton_1=new carton(getGraphics(),this);//³õʼ»¯ carton_1.start();//Æô¶¯ } }
public void stop() { carton_1.stop();//Í£Ö¹ carton_1=null;//ÊÍ·Å×ÊÔ´
back_ground_music.stop();//±³¾°ÒôÀÖÍ£Ö¹ }
//¼ü±»°´ÏÂʼþµÄ´¦Àí. public boolean keyDown(Event e,int key) { if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»°´Ï carton_1.set_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»°´Ï carton_1.set_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃtrue if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»°´Ï carton_1.set_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÖÃtrue if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»°´Ï carton_1.set_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue /* È¥µôÕâÁ½ÌõÖ¸ÁîÉÏϵÄ×¢Êͱê¼Ç,¸ñ¸ñ¾Í»áÄûú¹ØÇ¹¿ª»ð if (key==32) carton_1.fire_wanna_switch(true);//Blank to fire. */ return true; }
//¼ü±»ËÉ¿ªÊ¼þµÄ´¦Àí. public boolean keyUp(Event e,int key) { if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»ËÉ¿ª carton_1.clear_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»ËÉ¿ª carton_1.clear_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÇåÖÃfalse if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»ËÉ¿ª carton_1.clear_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÇåÖÃfalse if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»ËÉ¿ª carton_1.clear_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÇåÖÃfalse if (key==32)//¼ÙÈçÊǿոñ¼ü±»ËÉ¿ªÒªÇó¿ªÇ¹ carton_1.fire_wanna_switch(true);//ÇëÇó¿ªÇ¹. return true; } }
//¸ñ¸ñËùÊôÀàµÄÃèÊö class carton extends Thread//´ÓThreadÀàÅÉÉú { Graphics g,off_screen=null;//gÊǵ±Ç°µÄͼÐÎÉ豸»·¾³,off_screenÊǺǫ́»º³åÇøÍ¼ÐÎÉ豸»·¾³ boolean up=false,down=false,left=false,right=false;//Ëĸö·½Ïò²¼¶û±äÁ¿ boolean img_now_switch=true;//ͼƬÇл»¿ª¹Ø. boolean fire_wanna=false,fire_proposal=false;//fire_wannaÊÇÒªÇó¿ªÇ¹,Óû§Ã¿´ÎËÉ¿ª¿Õ¸ñ¼ü¾ÍÖÃλ,fire_proposalÊÇ×¼Ðí¿ªÇ¹,¸ñ¸ñÕýÔÚÒÆ¶¯Ê±ÖÃλ int position_x=200,position_y=150,pos_x,pos_y;//(position_x,position_y)ÊǸñ¸ñµ±Ç°Î»ÖÃ,(pos_x,pos_y)ÊǸղŵÄλַ int img_now_switch_count=0;//¸ñ¸ñͼƬÇл»¼ÆÊý.µ½Ò»¶¨Öµ¾ÍÇл» int img_now_switch_count_top=30;//Çл»Öµ.ͼƬÇл»¼ÆÊýµ½´ËÖµ,¾ÍÇл» int i=0,j=0,k=0;//ÕâЩÊdzÌÐòÖмÆËãʱµÄÁÙʱ±äÁ¿ int fire_direction=0;//×Óµ¯·½Ïò.1=ÉÏ,2=ÓÒÉÏ,3=ÓÒ,4=ÓÒÏÂ,5=ÏÂ,6=×óÏÂ,7=×ó,8=×óÉÏ int bullet_amount=0;//×Óµ¯×ÜÊýÁ¿ int bullet_position[][]=new int[31][3];//È«²¿×Óµ¯ÐÅÏ¢¼Í¼.ÿ¸ö×Óµ¯Õ¼ºáÏòÈý¸öÔªËØ.µÚÒ»¸öÊǺá×ø±ê,µÚ¶þ¸öÊÇ×Ý×ø±ê,µÚÈý¸öÊÇ·½Ïò Image img_center_close,img_center_open,img_up,img_down,img_left; Image img_right,img_up_left,img_up_right,img_down_left,img_down_right;//¸ñ¸ñÈ«²¿µÄͼƬ Image img_now,bullet_now;//ÏÖÔÚÒªÏÔʾµÄ¸ñ¸ñͼƬ(µ±Ç°Í¼Æ¬).Ëü»á¸Ä±äµÄ Image bullet_up,bullet_up_left,bullet_up_right,bullet_right; Image bullet_left,bullet_down,bullet_down_left,bullet_down_right;//×Óµ¯µÄÈ«²¿Í¼Æ¬ Image off_screen_buffer=null;//ºǫ́ͼÐλº³å AudioClip fire_sound;//¿ªÇ¹µÄÉùÒô Applet applet;//ÔËÐл·¾³
int sleep_time=5;//¸ñ¸ñÐÝÃßʱ¼ä
Color my_color;//ÁÙʱÑÕÉ«
//³õʼ»¯Ê±Òª½«¸÷ÖÖ»·¾³×¼±¸ºÃ public carton(Graphics a,Applet app) { g=a;//»ñµÃµ±Ç°Í¼ÐÎÉ豸»·¾³ applet=app;//»ñµÃµ±Ç°ÔËÐл·¾³
//ÏÂÃæ°ÑËùÓÐÒªÓõÄͼƬµ÷Èë img_center_close=applet.getImage(applet.getCodeBase(),\\"center_close.gif\\"); img_center_open=applet.getImage(applet.getCodeBase(),\\"center_open.gif\\");
img_up=applet.getImage(applet.getCodeBase(),\\"up.gif\\"); img_down=applet.getImage(applet.getCodeBase(),\\"down.gif\\"); img_left=applet.getImage(applet.getCodeBase(),\\"left.gif\\"); img_right=applet.getImage(applet.getCodeBase(),\\"right.gif\\"); img_up_left=applet.getImage(applet.getCodeBase(),\\"up_left.gif\\"); img_up_right=applet.getImage(applet.getCodeBase(),\\"up_right.gif\\"); img_down_left=applet.getImage(applet.getCodeBase(),\\"down_left.gif\\"); img_down_right=applet.getImage(applet.getCodeBase(),\\"down_right.gif\\");
bullet_up=applet.getImage(applet.getCodeBase(),\\"bullet_up.gif\\"); bullet_down=applet.getImage(applet.getCodeBase(),\\"bullet_down.gif\\"); bullet_left=applet.getImage(applet.getCodeBase(),\\"bullet_left.gif\\"); bullet_right=applet.getImage(applet.getCodeBase(),\\"bullet_right.gif\\"); bullet_up_left=applet.getImage(applet.getCodeBase(),\\"bullet_up_left.gif\\"); bullet_up_right=applet.getImage(applet.getCodeBase(),\\"bullet_up_right.gif\\"); bullet_down_left=applet.getImage(applet.getCodeBase(),\\"bullet_down_left.gif\\"); bullet_down_right=applet.getImage(applet.getCodeBase(),\\"bullet_down_right.gif\\");
fire_sound=applet.getAudioClip(applet.getCodeBase(),\\"monkey.au\\");//°Ñ¿ªÇ¹µÄÉùÒôµ÷Èë
//ÉèÖõ±Ç°Í¼Æ¬ img_now=img_center_open;
//´´½¨ºǫ́»º³åÇø,²¢È¡ÆäͼÐÎÉ豸»·¾³ off_screen_buffer=applet.createImage(400,350); off_screen=off_screen_buffer.getGraphics(); }
//ÕâÊÇÖ÷ÔËÐк¯Êý. public void run() { while(true)//´Ëº¯ÊýÒ»Ö±ÔËÐÐ { set_position();//¼ÆËã¸ñ¸ñµÄ×ø±ê select_image();//Ñ¡Ôñµ±Ç°Í¼Æ¬Í¬Ê±É趨×Óµ¯µÄ·ÉÐз½Ïò
bullet_processing();//´¦Àí×Óµ¯
draw_image();//»Í¼
try//±ê×¼µÄÔÝÍ£·½Ê½ { sleep(sleep_time); } catch(InterruptedException e) { } } }
//¼ÆËã¸ñ¸ñµÄ×ø±ê public void set_position() { //Ê×Ïȱ£Áôµ±Ç°Î»ÖÃ×ø±êÖµ pos_x=position_x; pos_y=position_y;
if(up==true && position_y>1)//¼ÙÈçÏòÉϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±ê´óÓÚ1 position_y--;//С·½¿éÏòÉÏÒÆ if(down==true && position_y<330)//¼ÙÈçÏòϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±êСÓÚ330 position_y++;//С·½¿éÏòÏÂÒÆ if(left==true && position_x>1)//¼ÙÈçÏò×óµÄ¼ü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±ê´óÓÚ1 position_x--;//С·½¿éÏò×óÒÆ if(right==true && position_x<380)//¼ÙÈçÏòÓҵļü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±êСÓÚ380 position_x++;//С·½¿éÏòÓÒÒÆ? }
//»ÆÁÄ» public void draw_image() {
my_color=new Color(179,179,179); off_screen.setColor(my_color); off_screen.fillRect(0,0,400,350);//ÔÚºǫ́»±³¾°
off_screen.drawImage(img_now,position_x,position_y,applet);//ÔÚºǫ́»¸ñ¸ñµÄͼÏñ
draw_bullet();//»×Óµ¯
g.drawImage(off_screen_buffer,0,0,applet);//Ë͵½Ç°¾°ÏÔʾ }
//¸ù¾Ý¸ñ¸ñÒÆ¶¯·½ÏòÑ¡ÔñÒªÏÔʾµÄͼƬ²¢¾ö¶¨×Óµ¯·ÉÐз½ÏòµÄ·½·¨ public void select_image() { fire_proposal=true;//ĬÈÏ״̬ÊÇ×¼Ðí¿ªÇ¹
if(position_x==pos_x && position_y==pos_y)//¼ÙÈç¸ñ¸ñûÓж¯ { fire_proposal=false;//²»×¼¿ªÇ¹ fire_direction=0;//·½ÏòΪ0ÊÇÎÞЧֵ
img_now_switch_count++;//¸ñ¸ñͼÏñÇл»¼ÆÊý¼Ó1 if (img_now_switch_count==img_now_switch_count_top)//Çл»¼ÆÊýµ½ÁËÇл»Öµ { img_now_switch=!img_now_switch;//Çл»±ê־ȡ·´ img_now_switch_count=0;//Çл»¼ÆÊýÇåÁã ? } //Çл»±ê־Ϊtrue,Ñ¡Ôñimg_center_openÈ¥ÏÔʾ;Ϊfalse,Ñ¡Ôñimg_center_closeÈ¥ÏÔʾ img_now=(img_now_switch)?img_center_open:img_center_close; } if(position_x==pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÉÏ·½ { fire_direction=1;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÉÏÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÉÏ img_now=img_up;//Ñ¡Ôñimg_upÈ¥ÏÔʾ } if(position_x>pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒÉÏ·½ { fire_direction=2;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÓÒÉÏÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÓÒÉÏ img_now=img_up_right;//Ñ¡Ôñimg_up_rightÈ¥ÏÔʾ } if(position_x>pos_x && position_y==pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒ·½ { fire_direction=3;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÓÒÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÓÒ img_now=img_right;//Ñ¡Ôñimg_rightÈ¥ÏÔʾ } if(position_x>pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒÏ·½ { fire_direction=4;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÓÒÏÂÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÓÒÏ img_now=img_down_right;//Ñ¡Ôñimg_down_rightÈ¥ÏÔʾ } if(position_x==pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÏ·½ { fire_direction=5;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÏÂÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÏ img_now=img_down;//Ñ¡Ôñimg_downÈ¥ÏÔʾ } if(position_x<pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×óÏ·½ { fire_direction=6;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏò×óÏÂÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏò×óÏ img_now=img_down_left;//Ñ¡Ôñimg_down_leftÈ¥ÏÔʾ } if(position_x<pos_x && position_y==pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×ó·½ { fire_direction=7;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏò×óÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏò×ó img_now=img_left;//Ñ¡Ôñimg_leftÏÔʾ } if(position_x<pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×óÉÏ·½ { fire_direction=8;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏò×óÉÏÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏò×óÉÏ img_now=img_up_left;//Ñ¡Ôñimg_up_leftÈ¥ÏÔʾ } }
//ÔÚºǫ́»×Óµ¯µÄ·½·¨ public void draw_bullet() { for (i=1;i<=bullet_amount;i++)//Ò»¸ö¸ö×Óµ¯È¥» { //Ïȸù¾Ý×Óµ¯·ÉÐеķ½Ïò¾ö¶¨Ó¦¸ÃÑ¡ÄĸöͼƬ» switch(bullet_position[i][2])//µÚÈý¸öÔªËØ(ϱê2)ÊÇ·½Ïò { case 1://ÏòÉÏ bullet_now=bullet_up;//Ñ¡ÏòÉϵÄͼƬ break; case 2://ÏòÓÒÉÏ bullet_now=bullet_up_right;//Ñ¡ÏòÓÒÉϵÄͼƬ break; case 3://ÏòÓÒ bullet_now=bullet_right;//Ñ¡ÏòÓÒµÄͼƬ break; case 4://ÏòÓÒÏ bullet_now=bullet_down_right;//Ñ¡ÏòÓÒϵÄͼƬ break; case 5://ÏòÏ bullet_now=bullet_down;//Ñ¡ÏòϵÄͼƬ break; case 6://Ïò×óÏ bullet_now=bullet_down_left;//Ñ¡Ïò×óϵÄͼƬ break; case 7://Ïò×ó bullet_now=bullet_left;//Ñ¡Ïò×óµÄͼƬ break; case 8://Ïò×óÉÏ bullet_now=bullet_up_left;//Ñ¡Ïò×óÉϵÄͼƬ break; default://ÎÞЧ·½Ïò²»» bullet_now=null; break; } //ÔÚºǫ́»º³åÇøÉϻһ¸ö×Óµ¯ off_screen.drawImage(bullet_now,bullet_position[i][0],bullet_position[i][1],applet); } }
//ÉêÇ뿪ǹµÄ·½·¨ public void fire_wanna_switch(boolean a) { fire_wanna=a; }
//´¦Àí×Óµ¯µÄ·½·¨ public void bullet_processing() { //Ôö¼ÓÒ»¿Å×Óµ¯ if (fire_wanna && fire_proposal && bullet_amount<30)//¼ÙÈçÓû§ÒªÇó¿ªÇ¹,²¢ÇÒ¸ñ¸ñÏÖÔÚÔÚÒÆ¶¯¿ÉÒÔ¿ªÇ¹,²¢ÇÒÏÖÐÐ×Óµ¯×ÜÊýСÓÚ30¿Å { bullet_amount++;//×Óµ¯×ÜÊý¼Ó1 bullet_position[bullet_amount][2]=fire_direction;//±£´æ×Óµ¯·ÉÐз½Ïò.fire_directionÊÇÔÚselect_image()·½·¨ÖÐËã³öµÄ fire_wanna=false;//¿ªÇ¹ºó½«¿ªÇ¹ÒªÇóÖÃΪfalse fire_sound.play();//·¢Éù
//ÏÂÃæ¸ù¾Ý¸ñ¸ñµÄλÖÃÉèÖÃ×Óµ¯µÄ³õÊ¼×ø±ê.ÓмӼõµÄÇé¿öÊÇÒòΪ×Óµ¯Òª´Ó¸ñ¸ñͼƬµÄÖÐÐķɳö,µ«¸ñ¸ñµÄ×ø±êÊǸñ¸ñͼƬ×óÉϽǵÄ×ø±ê,Òò´ËÒª¼ÓÒÔµ÷Õû.¸ù¾Ý×Óµ¯·ÉÐз½ÏòµÄ²»Í¬,µ÷ÕûµÄÖµ²»Í¬ switch (fire_direction) { case 1: bullet_position[bullet_amount][0]=position_x+5; bullet_position[bullet_amount][1]=position_y; break; case 2: bullet_position[bullet_amount][0]=position_x+10; bullet_position[bullet_amount][1]=position_y; break; case 3: bullet_position[bullet_amount][0]=position_x+10; bullet_position[bullet_amount][1]=position_y+5; break; case 4: bullet_position[bullet_amount][0]=position_x+10; bullet_position[bullet_amount][1]=position_y+10; break; case 5: bullet_position[bullet_amount][0]=position_x+5; bullet_position[bullet_amount][1]=position_y+10; break; case 6: bullet_position[bullet_amount][0]=position_x; bullet_position[bullet_amount][1]=position_y+10; break; case 7: bullet_position[bullet_amount][0]=position_x; bullet_position[bullet_amount][1]=position_y+5; break; case 8: bullet_position[bullet_amount][0]=position_x; bullet_position[bullet_amount][1]=position_y; break; } }
//ÏÂÃæ¼ÆËã×Óµ¯µÄλÖÃ,Ò»¿ÅÒ»¿Å´¦Àí for (i=1;i<=bullet_amount;i++) { switch(bullet_position[i][2])//¸ù¾Ý·½ÏòÅжÏ×ø±êÔõÑù±ä»¯ { case 1://±ÈÈçÏòÉÏ bullet_position[i][0]=bullet_position[i][0];//ºá×ø±ê²»±ä bullet_position[i][1]=bullet_position[i][1]-6;//×Ý×ø±ê¼õ 6 break; case 2: bullet_position[i][0]=bullet_position[i][0]+6; bullet_position[i][1]=bullet_position[i][1]-6; break; case 3: bullet_position[i][0]=bullet_position[i][0]+6; bullet_position[i][1]=bullet_position[i][1]; break; case 4: bullet_position[i][0]=bullet_position[i][0]+6; bullet_position[i][1]=bullet_position[i][1]+6; break; case 5: bullet_position[i][0]=bullet_position[i][0]; bullet_position[i][1]=bullet_position[i][1]+6; break; case 6: bullet_position[i][0]=bullet_position[i][0]-6; bullet_position[i][1]=bullet_position[i][1]+6; break; case 7: bullet_position[i][0]=bullet_position[i][0]-6; bullet_position[i][1]=bullet_position[i][1]; break; case 8: bullet_position[i][0]=bullet_position[i][0]-6; bullet_position[i][1]=bullet_position[i][1]-6; break; default: break; } }
//ÏÂÃæÅжÏÊÇ·ñÓÐij¿Å×Óµ¯·É³öÁËÆÁÄ»±ß½ç,Óеϰ,È¥µôËü,²¢½«ËüºóÃæµÃÊý×éÔªËØÇ°ÒÆ k=0;// k ÓÃÀ´¼Í¼Óм¸¿Å×Óµ¯·É³öÁËÆÁÄ»±ß½ç for (i=1;i<=bullet_amount;i++)//Ò»¿ÅÒ»¿Å×Óµ¯È¥´¦Àí { //¼ÙÈç×Óµ¯·É³öÁËÆÁÄ»±ß½ç if (bullet_position[i][0]<-10 || bullet_position[i][0]>400 || bullet_position[i][1]<-10 || bullet_position[i][1]>350) { for (j=i+1;j<=bullet_amount;j++)//ËüºóÃæËùÓеÄÔªËØÏòÇ°ÒÆÕ¼¾ÝËüÔÚÊý×éÖеÄλÖà { bullet_position[j-1][0]=bullet_position[j][0]; bullet_position[j-1][1]=bullet_position[j][1]; bullet_position[j-1][2]=bullet_position[j][2]; } k++;//·É³öÆÁÄ»±ß½çµÄ×Óµ¯ÊýÁ¿¼Ó1 } }
bullet_amount=bullet_amount-k;//ÏÖÔÚ×Óµ¯µÄ×ÜÊýÁ¿ÊǸղŵÄÊýÁ¿¼õÈ¥·É³öÆÁÄ»±ß½çµÄ×Óµ¯µÄÊýÁ¿ }
//±íʾ¸ñ¸ñÒÆ¶¯·½ÏòµÄ²¼¶û±äÁ¿µÄÖÃλ·½·¨ public void set_direction(int direction_) { switch(direction_) { case(0)://ÏòÉϼü±»°´ÏÂÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue up=true; break; case(1)://Ïòϼü±»°´ÏÂÔòÏòϵIJ¼¶û±äÁ¿ÖÃtrue down=true; break; case(2)://Ïò×ó¼ü±»°´ÏÂÔòÏò×óµÄ²¼¶û±äÁ¿ÖÃtrue left=true; break; case(3)://ÏòÓÒ¼ü±»°´ÏÂÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue right=true; break; default: break; } }
//±íʾ¸ñ¸ñÒÆ¶¯·½ÏòµÄ²¼¶û±äÁ¿µÄÇåÁã·½·¨ public void clear_direction(int direction_) { switch(direction_) { case(0)://ÏòÉϼü±»ËÉ¿ªÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse up=false; break; case(1)://Ïòϼü±»ËÉ¿ªÔòÏòϵIJ¼¶û±äÁ¿ÖÃfalse down=false; break; case(2)://Ïò×ó¼ü±»ËÉ¿ªÔòÏò×óµÄ²¼¶û±äÁ¿ÖÃfalse left=false; break; case(3)://ÏòÓÒ¼ü±»ËÉ¿ªÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃfalse right=false; break; default: break; } } }
Îå ¼ÓÈë»á×·Öð¸ñ¸ñµÄС»µµ°Èøñ¸ñºÍËûÃǶԿ¹. ÈÃÎÒÃǸøÐ¡»µµ°ÆðÃû×ֽлµÃ¨Ã¨ºÍСó¦Ð·.ÕâÁ½¸öС»µµ°»á×·Öð¸ñ¸ñ.µ±È»,»µÃ¨Ã¨ÅܵĿì,Сó¦Ð·ÅܵÃÂý.ËûÃÇͨ¹ýÅжÏ×Ô¼ººÍ¸ñ¸ñµÄÏà¶ÔλÖþö¶¨×Ô¼ºÏòÄÄÀïÒÆ¶¯. »µÃ¨Ã¨ºÍСó¦Ð·ÊÇС»µµ°ÀàµÄÁ½¸öʵÀý.ÅܵÄËٶȲ»Í¬Ö»ÊÇÒòΪʵÀý±»³õʼ»¯Ê±É趨µÄÏß³ÌÐÝÃßʱ¼ä²»Í¬.¶ÁÕß¿ÉÒÔ¸ÄÔì±ÊÕ߸ø³öµÄ³ÌÐòÂë,ÔÙ¼ÓÈëÒ»¸öС»µµ°ÊµÀý¿´¿´,ÕâÑù»áÓÐÈý¸öС»µµ°×·Öð¸ñ¸ñ.ÏÖÔÚ¶ÁÕß¿´³öÃæÏò¶ÔÏóµÄÓÅÔ½ÐÔÁËÂð?±ÈÈçÀà¿âÖж¨ÒåÁ˰´Å¥Àà,Äã¿ÉÒÔÔÚ³ÌÐòÖÐÉùÃ÷ÎÞÊý¸öʵÀý,¶àô·½±ã. ¸ñ¸ñµÄ×Óµ¯»÷ÖÐÁ½¸öС»µµ°ºóËûÃÇ»á½ÐÒ»Éù,²¢¶ÌÔÝÍ£Ö¹×·Öð(¶ÁÕß²»·Á¸Ä¸Ä³ÌÐòÈûµÃ¨Ã¨ºÍСó¦Ð·Öе¯ºóÍ£Ö¹µÄʱ¼ä²»Ò»Ñù).¸ñ¸ñ»÷ÖÐÁ˻ᶯµÄС»µµ°Äܵ÷Ö(»÷ÖÐÁ˲»»á¶¯µÄ²»µÃ·Ö),±»×¥×¡ÁËÒª¿Û·Ö. ÅжÏÕâЩʼþºÜ¼òµ¥.Éú³É°üº¬¸ñ¸ñ,×Óµ¯,С»µµ°Í¼Æ¬µÄ±ß¿ò,ËûÃDZ߿òÏཻ,¾ÍÓÐÊÂÁË. ¿ÉÒÔÕâÑùÉú³ÉÁ½¸ö±ß¿ò²¢ÅжÏÊÇ·ñÏཻ: Rectangle rectangle_1=null, rectangle_2=null; rectangle_1=new Rectangle(10,15,20,25);//Éú³ÉÒ»¸ö×óÉϽÇ×ø±êΪ(10,15),¿íΪ20,¸ßΪ25µÄ±ß¿ò. rectangle_1=new Rectangle(20,25,30,35);//Éú³ÉÒ»¸ö×óÉϽÇ×ø±êΪ(20,25),¿íΪ30,¸ßΪ35µÄ±ß¿ò. if(rectangle_1.intersects(rectangle_2))//Á½¸ö±ß¿òÏཻÂð? { //ÏàÓ¦³ÌÐòÂë } С»µµ°±»»÷Öкó,±íʾËûÍ£Ö¹×·ÖðµÄ²¼¶ûÁ¿ÖÃΪtrue,ͬʱֹͣʱ¼ä¼ÆÊý¿ªÊ¼µÝ¼õ.Ò»µ©¼ÆÊýСÓÚ0,±íʾÔÝͣʱ¼äµ½,±íʾֹͣ׷ÖðµÄ²¼¶ûÁ¿ÖÃΪfalse,С»µµ°ÓÖ¿ªÊ¼×·Öð. ÏÂÃæÊÇÁ½¸öС»µµ°µÄͼÏñ.·ùÃæÊÇ40 X 40µã.ËûÃǸ÷ÓÐÁ½·ùͼÏñ½»ÌæÏÔʾÒÔÐγɶ¯»Ð§¹û.
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
»µÃ¨Ã¨Í¼Æ¬1 AlphaͨµÀ »µÃ¨Ã¨Í¼Æ¬2 AlphaͨµÀ Сó¦Ð·Í¼Æ¬1 AlphaͨµÀ Сó¦Ð·Í¼Æ¬2 AlphaͨµÀ
xia_1.gif xia_2.gif hu_1.gif hu_2.gif
ÏÂÃæÊÇ×îÖյijÌÐòÂë.
import java.awt.*; import java.applet.*;
public class wumin1 extends Applet { carton carton_1=null;//ÉùÃ÷Ò»¸öcartonÀàµÄʵÀý. AudioClip back_ground_music;//ÉùÃ÷Ò»¸öÉùÒôʵÀý.ÕâÊDZ³¾°ÒôÀÖ bad_egg bad_egg_1=null,bad_egg_2=null;
public void init() { back_ground_music=getAudioClip(getCodeBase(),\\"spacemusic.au\\"); back_ground_music.loop();//±³¾°ÒôÀÖÑ»·²¥·Å }
public void start() { if (carton_1==null)//¼ÙÈç¸ñ¸ñδ³õʼ»¯ { carton_1=new carton(getGraphics(),this);//³õʼ»¯ carton_1.start();//¸ñ¸ñÆô¶¯ } if (bad_egg_1==null) { //С»µµ°µÄ¹¹Ô캯Êý²ÎÊý´ÓǰÏòºó,ÒÀ´ÎΪ:µ±Ç°ÊµÀý,µ±Ç°Í¼ÐÎÉ豸»·¾³,С //»µµ°µÄsleep()ÔÝÍ£·½·¨µÄÔÝͣʱ¼ä,С»µµ°µÄͼƬÃû, //С»µµ°µÄ³õʼλÖõÄXºÍY×ø±ê,¸ñ¸ñ,С»µµ°±àºÅ. bad_egg_1=new bad_egg(this,getGraphics(),30,\\"hu\\",350,300,carton_1,1); bad_egg_1.start(); }
if (bad_egg_2==null) { bad_egg_2=new bad_egg(this,getGraphics(),50,\\"xia\\",350,30,carton_1,2); bad_egg_2.start(); }
}
public void stop() { carton_1.stop();//Í£Ö¹ carton_1=null;//ÊÍ·Å×ÊÔ´
bad_egg_1.stop();//С»µµ°1Í£Ö¹ bad_egg_1=null; //ÊÍ·Å×ÊÔ´
bad_egg_2.stop();//С»µµ°2Í£Ö¹ bad_egg_2=null; //ÊÍ·Å×ÊÔ´
back_ground_music.stop();//±³¾°ÒôÀÖÍ£Ö¹ }
//¼ü±»°´ÏÂʼþµÄ´¦Àí. public boolean keyDown(Event e,int key) { if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»°´Ï carton_1.set_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»°´Ï carton_1.set_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃtrue if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»°´Ï carton_1.set_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÖÃtrue if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»°´Ï carton_1.set_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue /* È¥µôÕâÁ½ÌõÖ¸ÁîÉÏϵÄ×¢Êͱê¼Ç,¸ñ¸ñ¾Í»áÄûú¹ØÇ¹¿ª»ð if (key==32) carton_1.fire_wanna_switch(true);//Blank to fire. */ return true; }
//¼ü±»ËÉ¿ªÊ¼þµÄ´¦Àí. public boolean keyUp(Event e,int key) { if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»ËÉ¿ª carton_1.clear_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»ËÉ¿ª carton_1.clear_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÇåÖÃfalse if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»ËÉ¿ª carton_1.clear_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÇåÖÃfalse if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»ËÉ¿ª carton_1.clear_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÇåÖÃfalse if (key==32)//¼ÙÈçÊǿոñ¼ü±»ËÉ¿ªÒªÇó¿ªÇ¹ carton_1.fire_wanna_switch(true);//ÇëÇó¿ªÇ¹. return true; } }
//¸ñ¸ñËùÊôÀàµÄÃèÊö class carton extends Thread//´ÓThreadÀàÅÉÉú { Graphics g,off_screen=null;//gÊǵ±Ç°µÄͼÐÎÉ豸»·¾³,off_screenÊǺǫ́»º³åÇøÍ¼ÐÎÉ豸»·¾³ boolean up=false,down=false,left=false,right=false;//Ëĸö·½Ïò²¼¶û±äÁ¿ boolean img_now_switch=true;//ͼƬÇл»¿ª¹Ø. boolean fire_wanna=false,fire_proposal=false;//fire_wannaÊÇÒªÇó¿ªÇ¹,Óû§Ã¿´ÎËÉ¿ª¿Õ¸ñ¼ü¾ÍÖÃλ,fire_proposalÊÇ×¼Ðí¿ªÇ¹,¸ñ¸ñÕýÔÚÒÆ¶¯Ê±ÖÃλ int position_x=200,position_y=150,pos_x,pos_y;//(position_x,position_y)ÊǸñ¸ñµ±Ç°Î»ÖÃ,(pos_x,pos_y)ÊǸղŵÄλַ int img_now_switch_count=0;//¸ñ¸ñͼƬÇл»¼ÆÊý.µ½Ò»¶¨Öµ¾ÍÇл» int img_now_switch_count_top=30;//Çл»Öµ.ͼƬÇл»¼ÆÊýµ½´ËÖµ,¾ÍÇл» int i=0,j=0,k=0;//ÕâЩÊdzÌÐòÖмÆËãʱµÄÁÙʱ±äÁ¿ int fire_direction=0;//×Óµ¯·½Ïò.1=ÉÏ,2=ÓÒÉÏ,3=ÓÒ,4=ÓÒÏÂ,5=ÏÂ,6=×óÏÂ,7=×ó,8=×óÉÏ int bullet_amount=0;//×Óµ¯×ÜÊýÁ¿ int bullet_position[][]=new int[31][3];//È«²¿×Óµ¯ÐÅÏ¢¼Í¼.ÿ¸ö×Óµ¯Õ¼ºáÏòÈý¸öÔªËØ.µÚÒ»¸öÊǺá×ø±ê,µÚ¶þ¸öÊÇ×Ý×ø±ê,µÚÈý¸öÊÇ·½Ïò Image img_center_close,img_center_open,img_up,img_down,img_left; Image img_right,img_up_left,img_up_right,img_down_left,img_down_right;//¸ñ¸ñÈ«²¿µÄͼƬ Image img_now,bullet_now;//ÏÖÔÚÒªÏÔʾµÄ¸ñ¸ñͼƬ(µ±Ç°Í¼Æ¬).Ëü»á¸Ä±äµÄ Image bullet_up,bullet_up_left,bullet_up_right,bullet_right; Image bullet_left,bullet_down,bullet_down_left,bullet_down_right;//×Óµ¯µÄÈ«²¿Í¼Æ¬ Image off_screen_buffer=null;//ºǫ́ͼÐλº³å AudioClip fire_sound;//¿ªÇ¹µÄÉùÒô AudioClip cought_by_hu,cought_by_xia,hit_hu,hit_xia;//¸ñ¸ñ±»Ð¡»µµ°×¥×¡µÄÉùÒôºÍ×Óµ¯»÷ÖÐС»µµ°µÄÉùÒô
Applet applet;//ÔËÐл·¾³
int sleep_time=5;//¸ñ¸ñÐÝÃßʱ¼ä
int score=0;//»ý·Ö
String score_s;
Image bad_egg[]= new Image[2];//С»µµ°µÄͼƬ int bad_egg_position_x[]=new int[2];//С»µµ°µÄ×ø±ê int bad_egg_position_y[]=new int[2];
boolean bad_egg_stop[]=new boolean[2];//С»µµ°±»×Óµ¯»÷Öкó´Î±äÁ¿Îªtrue int bad_egg_freeze[]=new int[2];//С»µµ°±»×Óµ¯»÷ÖкóµÄÔÝͣʱ¼ä¼ÆÊý
Rectangle bad_egg_1=null,bad_egg_2=null,bad_egg_bullet=null;//ÓÃÀ´ÅжÏС»µµ°Î»Öü°Ð¡»µµ°ÊÇ·ñ±»×Óµ¯»÷Öеķ½¿ò
Color my_color;//ÁÙʱÑÕÉ«
//³õʼ»¯Ê±Òª½«¸÷ÖÖ»·¾³×¼±¸ºÃ public carton(Graphics a,Applet app) { g=a;//»ñµÃµ±Ç°Í¼ÐÎÉ豸»·¾³ applet=app;//»ñµÃµ±Ç°ÔËÐл·¾³
//ÏÂÃæ°ÑËùÓÐÒªÓõÄͼƬµ÷Èë img_center_close=applet.getImage(applet.getCodeBase(),\\"center_close.gif\\"); img_center_open=applet.getImage(applet.getCodeBase(),\\"center_open.gif\\");
img_up=applet.getImage(applet.getCodeBase(),\\"up.gif\\"); img_down=applet.getImage(applet.getCodeBase(),\\"down.gif\\"); img_left=applet.getImage(applet.getCodeBase(),\\"left.gif\\"); img_right=applet.getImage(applet.getCodeBase(),\\"right.gif\\"); img_up_left=applet.getImage(applet.getCodeBase(),\\"up_left.gif\\"); img_up_right=applet.getImage(applet.getCodeBase(),\\"up_right.gif\\"); img_down_left=applet.getImage(applet.getCodeBase(),\\"down_left.gif\\"); img_down_right=applet.getImage(applet.getCodeBase(),\\"down_right.gif\\");
bullet_up=applet.getImage(applet.getCodeBase(),\\"bullet_up.gif\\"); bullet_down=applet.getImage(applet.getCodeBase(),\\"bullet_down.gif\\"); bullet_left=applet.getImage(applet.getCodeBase(),\\"bullet_left.gif\\"); bullet_right=applet.getImage(applet.getCodeBase(),\\"bullet_right.gif\\"); bullet_up_left=applet.getImage(applet.getCodeBase(),\\"bullet_up_left.gif\\"); bullet_up_right=applet.getImage(applet.getCodeBase(),\\"bullet_up_right.gif\\"); bullet_down_left=applet.getImage(applet.getCodeBase(),\\"bullet_down_left.gif\\"); bullet_down_right=applet.getImage(applet.getCodeBase(),\\"bullet_down_right.gif\\");
fire_sound=applet.getAudioClip(applet.getCodeBase(),\\"monkey.au\\");//°Ñ¿ªÇ¹µÄÉùÒôµ÷Èë
cought_by_hu=applet.getAudioClip(applet.getCodeBase(),\\"bong.au\\"); cought_by_xia=applet.getAudioClip(applet.getCodeBase(),\\"bubble1.au\\"); hit_hu=applet.getAudioClip(applet.getCodeBase(),\\"ah.au\\"); hit_xia=applet.getAudioClip(applet.getCodeBase(),\\"ooh.au\\");
//ÉèÖõ±Ç°Í¼Æ¬ img_now=img_center_open;
//´´½¨ºǫ́»º³åÇø,²¢È¡ÆäͼÐÎÉ豸»·¾³ off_screen_buffer=applet.createImage(400,350); off_screen=off_screen_buffer.getGraphics();
//³õʼ»¯Ð¡»µµ°µÄ¸÷ÖÖ²ÎÊý bad_egg[0]=null; bad_egg[1]=null;
bad_egg_position_x[0]=0; bad_egg_position_x[1]=0; bad_egg_position_y[0]=0; bad_egg_position_y[1]=0;
bad_egg_stop[0]=false; bad_egg_stop[1]=false;
bad_egg_freeze[0]=80; bad_egg_freeze[1]=80; }
//ÕâÊÇÖ÷ÔËÐк¯Êý. public void run() { while(true)//´Ëº¯ÊýÒ»Ö±ÔËÐÐ { set_position();//¼ÆËã¸ñ¸ñµÄ×ø±ê select_image();//Ñ¡Ôñµ±Ç°Í¼Æ¬Í¬Ê±É趨×Óµ¯µÄ·ÉÐз½Ïò
bullet_processing();//´¦Àí×Óµ¯
draw_image();//»Í¼
bad_egg_sleep();//С»µµ°Í£Ö¹×·Öð¸ñ¸ñµÄ´¦Àí
draw_score();//ÏÔʾ»ý·Ö
try//±ê×¼µÄÔÝÍ£·½Ê½ { sleep(sleep_time); } catch(InterruptedException e) { } } }
//С»µµ°Í£Ö¹×·Öð¸ñ¸ñµÄ´¦Àí public void bad_egg_sleep() { //ÏÂÃæµÄÑ»·´¦ÀíС»µÖе¯ºóÍ£Ö¹×·Öð.¶ÁÕß¿ÉÒÔ°ÑËü·Ö½âΪÁ½¸öµ¥¶ÀµÄÅжÏ,ÕâÑùÁ½¸öС»µµ°Öе¯ºó¿ÉÒÔÍ£Ö¹²»Í¬µÄʱ¼ä. for (i=0;i<2;i++)//Á½¸öС»µµ°¶¼Òª´¦Àí { if(bad_egg_freeze[i]>0 && bad_egg_stop[i])//¼ÙÈçС»µµ°ÏÖÔÚÒÑÍ£Ö¹×·Öð²¢ÇÒֹͣʱ¼ä¼ÆÊý´óÓÚ0 bad_egg_freeze[i]--;//¼ÆÊý¼õ1 if(bad_egg_freeze[i]<1)//Í£Ö¹×·Öðʱ¼ä¼ÆÊýСÓÚ1 { bad_egg_stop[i]=false;//С»µµ°Í£Ö¹×·Öð±ê־Ϊfalse,ÓÖ¿ªÊ¼×·Öð bad_egg_freeze[i]=80;//Í£Ö¹¼ÆÊý»Ö¸´³õÖµ } } }
//ÏÔʾ»ý·ÖµÄ·½·¨ public void draw_score() { my_color=new Color(192,192,192); g.setColor(my_color); g.fillRect(150,350,100,10);//°ÑÏÔʾ·ÖÊýµÄµØ·½ÓÃÌî³ä¾ØÐεķ½·¨Çå¿Õ
my_color=new Color(0,0,0); g.setColor(my_color); if (score>100000) score=100000;//ÉèÒ»¸ö»ý·ÖÉÏÏÞ score_s=String.valueOf(score);//½«ÕûÊýÐ͵Ļý·Öת»»Îª×Ö·û´® g.drawString(\\"Your year end bonus is: $ \\"+score_s,0,360);//ÏÔʾ }
//¼ÆËã¸ñ¸ñµÄ×ø±ê public void set_position() { //Ê×Ïȱ£Áôµ±Ç°Î»ÖÃ×ø±êÖµ pos_x=position_x; pos_y=position_y;
if(up==true && position_y>1)//¼ÙÈçÏòÉϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±ê´óÓÚ1 position_y--;//С·½¿éÏòÉÏÒÆ if(down==true && position_y<330)//¼ÙÈçÏòϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±êСÓÚ330 position_y++;//С·½¿éÏòÏÂÒÆ¶¯ if(left==true && position_x>1)//¼ÙÈçÏò×óµÄ¼ü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±ê´óÓÚ1 position_x--;//С·½¿éÏò×óÒÆ¶¯ if(right==true && position_x<380)//¼ÙÈçÏòÓҵļü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±êСÓÚ380 position_x++;//С·½¿éÏòÓÒÒÆ
bad_egg_bullet=new Rectangle(position_x,position_y,15,15);//Õâ¸ö¾ØÐÎÊǸñ¸ñµÄ±ß¿ò //ÏÂÃæÊÇÁ½¸öС»µµ°µÄ±ß¿ò bad_egg_1=new Rectangle(bad_egg_position_x[0],bad_egg_position_y[0],30,30); bad_egg_2=new Rectangle(bad_egg_position_x[1],bad_egg_position_y[1],30,30);
if(bad_egg_1.intersects(bad_egg_bullet))//¼ÙÈç¸ñ¸ñµÄ±ß¿òºÍС»µµ°1µÄ±ß¿òÏཻ { score=score-20;//¸ñ¸ñ±»Ð¡»µµ°1ץסÁË.»ý·Ö¼õ 20 cought_by_hu.play();//·¢³ö¸ñ¸ñ±»Ð¡»µµ°1ץסµÄÉùÒô } if(bad_egg_2.intersects(bad_egg_bullet)) { score=score-50;//¸ñ¸ñ±»Ð¡»µµ°2ץסÁË.»ý·Ö¼õ 50 cought_by_xia.play();//·¢³ö¸ñ¸ñ±»Ð¡»µµ°2ץסµÄÉùÒô } }
//»ÆÁÄ» public void draw_image() { my_color=new Color(179,179,179); off_screen.setColor(my_color); off_screen.fillRect(0,0,400,350);//ÔÚºǫ́»±³¾°
off_screen.drawImage(img_now,position_x,position_y,applet);//ÔÚºǫ́»¸ñ¸ñµÄͼÏñ
draw_bullet();//»×Óµ¯
//ÔÚºǫ́»Á½¸öС»µµ° off_screen.drawImage(bad_egg[0],bad_egg_position_x[0],bad_egg_position_y[0],applet); off_screen.drawImage(bad_egg[1],bad_egg_position_x[1],bad_egg_position_y[1],applet);
g.drawImage(off_screen_buffer,0,0,applet);//Ë͵½Ç°¾°ÏÔʾ }
//¸ù¾Ý¸ñ¸ñÒÆ¶¯·½ÏòÑ¡ÔñÒªÏÔʾµÄͼƬ²¢¾ö¶¨×Óµ¯·ÉÐз½ÏòµÄ·½·¨ public void select_image() { fire_proposal=true;//ĬÈÏ״̬ÊÇ×¼Ðí¿ªÇ¹
if(position_x==pos_x && position_y==pos_y)//¼ÙÈç¸ñ¸ñûÓж¯ { fire_proposal=false;//²»×¼¿ªÇ¹ fire_direction=0;//·½ÏòΪ0ÊÇÎÞЧֵ
img_now_switch_count++;//¸ñ¸ñͼÏñÇл»¼ÆÊý¼Ó1 if (img_now_switch_count==img_now_switch_count_top)//Çл»¼ÆÊýµ½ÁËÇл»Öµ { img_now_switch=!img_now_switch;//Çл»±ê־ȡ·´ img_now_switch_count=0;//Çл»¼ÆÊýÇåÁã } //Çл»±ê־Ϊtrue,Ñ¡Ôñimg_center_openÈ¥ÏÔʾ;Ϊfalse,Ñ¡Ôñimg_center_closeÈ¥ÏÔʾ img_now=(img_now_switch)?img_center_open:img_center_close; } if(position_x==pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÉÏ·½ { fire_direction=1;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÉÏÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÉÏ img_now=img_up;//Ñ¡Ôñimg_upÈ¥ÏÔʾ } if(position_x>pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒÉÏ·½ { fire_direction=2;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÓÒÉÏÒ
|