|
Advance Member
|
我要做一個打磚塊的遊戲......
現在我已經都把圖貼好了~下面用的棒子也會移動了.....
但是現在想用棒子吃到寶物會變更狀態~跟球去碰撞磚塊....
但是發現~我不會使用碰撞的指令.....
我現在完成的程式入下.....(圖片檔~在上船的壓縮檔裡)
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.awt.Color;
public class bb extends Applet
{
int x=250,y=550,i=0,j=0,k=0,x1=10,m=30,y1=50;
public String s="請點擊滑鼠任意鍵";
Image a[]=new Image[10];
public void init()
{
setBackground(Color.pink); //背景顏色
addKeyListener(new ma(this));
for(i=0;i<8;i++)
{
a[i]=getImage(getDocumentBase(), i+".GIF");//設定圖片
}
}
public void paint(Graphics g)
{
g.setColor(Color.blue);
g.drawString(s, 30, 45);
g.drawString("x="+ x +",y="+ y, 30, 30); //顯示X,Y座標
g.drawImage(a[0],x,y,this);
for(j=1;j<8;j++)
{
switch(j)
{
case 1:
x1=10;
for(k=0;k<14;k++)
{
g.drawImage(a[j],x1=x1+m,y1,this);
}
break;
case 2:
x1=10;
for(k=0;k<14;k++)
{
g.drawImage(a[j],x1=x1+m,y1+15,this);
}
break;
case 3:
x1=10;
for(k=0;k<14;k++)
{
g.drawImage(a[j],x1=x1+m,y1+30,this);
}
break;
case 4:
x1=10;
for(k=0;k<14;k++)
{
g.drawImage(a[j],x1=x1+m,y1+45,this);
}
break;
case 5:
x1=10;
for(k=0;k<14;k++)
{
g.drawImage(a[j],x1=x1+m,y1+60,this);
}
break;
case 6:
x1=10;
for(k=0;k<14;k++)
{
g.drawImage(a[j],x1=x1+m,y1+75,this);
}
break;
case 7:
x1=10;
for(k=0;k<14;k++)
{
g.drawImage(a[j],x1=x1+m,y1+90,this);
}
break;
}
}
}
}
class ma extends KeyAdapter
{
bb a;
ma(bb appletobject)
{
a=appletobject;
}
public void keyPressed(KeyEvent me)
{
if (me.getKeyCode()==KeyEvent.VK_A) //左移
{
if(a.x<20)
a.x=0;
else
a.x=a.x-20;
}
if (me.getKeyCode()==KeyEvent.VK_D) //右移
{
if(a.x>390)
a.x=410;
else
a.x=a.x+20;
}
a.repaint();
}
}
我想在附程式加入~棒子與寶物碰撞後會變成其他狀態....
請問那個碰撞又如何設定呢???(我該如何寫呢?)
有無大大可教一下~我有趣其他網站爬文~沒找到......
謝謝~!
|