?? a.java
字號:
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);//向上的布爾變量置true
JAVA手機網[www.cnjm.net] if (key==Event.DOWN)//假如是向下鍵被按下
carton_1.set_direction(1);//向下的布爾變量置true
if (key==Event.LEFT)//假如是向左鍵被按下
carton_1.set_direction(2);//向左的布爾變量置true
if (key==Event.RIGHT)//假如是向右鍵被按下
carton_1.set_direction(3);//向右的布爾變量置true
JAVA手機網[www.cnjm.net] return true;
};
//鍵被松開事件的處理.
public boolean keyUp(Event e,int key)
{;
if (key==Event.UP)//假如是向上鍵被松開
carton_1.clear_direction(0);//向上的布爾變量置false
if (key==Event.DOWN)//假如是向下鍵被松開
carton_1.clear_direction(1);//向下的布爾變量置false
if (key==Event.LEFT)//假如是向左鍵被松開
carton_1.clear_direction(2);//向左的布爾變量置false
JAVA手機網[www.cnjm.net] if (key==Event.RIGHT)//假如是向右鍵被松開
carton_1.clear_direction(3);//向右的布爾變量置false
return true;
};
};
//小方塊所屬類的描述
class carton extends Thread//從Thread類派生
{;
JAVA手機網[www.cnjm.net] 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;
//初始化時要將各種環境準備好
JAVA手機網[www.cnjm.net] public carton(Graphics a,Applet app)
{;
g=a;
applet=app;
};
//這是主運行函數.
public void run()
{;
while(true)//此函數一直運行
{;
set_position();//計算小方塊坐標
draw_image();//畫小方塊
try//標準的暫停方式
JAVA手機網[www.cnjm.net] {;
sleep(sleep_time);
};
catch(InterruptedException e)
JAVA手機網[www.cnjm.net] {;
};
};
};
//計算小方塊的坐標
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);
JAVA手機網[www.cnjm.net] g.setColor(my_color);
g.fillRect(position_x,position_y,20,20);//根據小方塊的坐標畫小方塊
};
//表示方向的布爾變量的置true方法
public void set_direction(int direction_)
{;
switch(direction_)
{;
case(0)://向上鍵被按下則向上的布爾變量置位
JAVA手機網[www.cnjm.net] up=true;
break;
case(1)://向下鍵被按下則向下的布爾變量置位
down=true;
JAVA手機網[www.cnjm.net] break;
case(2)://向左鍵被按下則向左的布爾變量置位
left=true;
break;
case(3)://向右鍵被按下則向右的布爾變量置位
right=true;
break;
default:
break;
};
};
//表示方向的布爾變量的置false方法
JAVA手機網[www.cnjm.net] public void clear_direction(int direction_)
{; switch(direction_)
{;
case(0)://向上鍵被松開則向上的布爾變量置false
up=false;
break;
case(1)://向下鍵被松開則向下的布爾變量置false
down=false;
break;
case(2)://向左鍵被松開則向左的布爾變量置false
left=false;
break;
case(3)://向右鍵被松開則向右的布爾變量置false
JAVA手機網[www.cnjm.net] right=false;
JAVA手機網[www.cnjm.net] break;
default:
break;
};
};
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -