13,100
社区成员
发帖
与我相关
我的任务
分享
public void keyPressed(){
int keystate=this.getKeyStates();
switch (keystate){
case GameCanvas.DOWN_PRESSED:
if(down==false)
{
break;}
s1.move(0, 5);
up=true;
if(s1.collidesWith(t2, false))
down=false;
//System.out.println("向下移动");
s1.paint(ga);
this.flushGraphics();
break;
case GameCanvas.UP_PRESSED:
if(up==false)
{
break;}
s1.move(0, -5);
down=true;
//System.out.println("向上移动");
if(s1.collidesWith(t2, false))
up=false;
s1.paint(ga);
this.flushGraphics();
break;
case GameCanvas.LEFT_PRESSED:
if(left==false)
{
break;}
s1.move(-5, 0);
right=true;
//System.out.println("向上移动");
if(s1.collidesWith(t2, false))
left=false;
s1.paint(ga);
this.flushGraphics();
break;
case GameCanvas.RIGHT_PRESSED:
if(right==false)
{
break;}
s1.move(5, 0);
left=true;
//System.out.println("向上移动");
if(s1.collidesWith(t2, false))
right=false;
s1.paint(ga);
this.flushGraphics();
}
if(this.getRectangle().intersects(ww.getRectangle()))
这种最简单的碰撞检测方法,给你参考下: case GameCanvas.RIGHT_PRESSED:
if(right==false)
{
break;}
s1.move(5, 0);
left=true;
//System.out.println("向上移动");
if(s1.collidesWith(t2, false))
right=false;
s1.paint(ga);
this.flushGraphics();
case GameCanvas.RIGHT_PRESSED:
if(s1.collidesWith(t2, false))
right=false;
if(right==false)
{
return;}
s1.move(5, 0);
left=true;
s1.paint(ga);
this.flushGraphics();
break;