📄 tanksprite2.java
字号:
import javax.microedition.lcdui.* ;
import javax.microedition.lcdui.game.* ;
public class TankSprite2 extends Sprite
{
int bx = 0 ;
int by = 0 ;
public TankSprite2(Image img,int w,int h,int bx,int by)
{
super(img,w,h);
this.bx = bx ;
this.by = by ;
defineReferencePixel(w / 2,h / 2);
}
public void moveUp()
{
move(0,-4) ;
//判断上边界
if( getY() <= 0 )
{
setPosition(getX(),0) ;
}
}
public void moveDown()
{
move(0,4) ;
//判断下边界
if( getY() > (by - getHeight()) )
{
setPosition(getX(),(by - getHeight())) ;
}
}
public void moveLeft()
{
move(-4,0) ;
//判断左边界
if( getX() <= 0 )
{
setPosition(0,getY()) ;
}
}
public void moveRight()
{
move(4,0) ;
//判断右边界
if( getX() > (bx - getWidth()) )
{
setPosition((bx - getWidth()),getY()) ;
}
}
int state = 0 ;
public void rotate()
{
state++ ;
if(state > 11)
state = 0 ;
setTankDirection(state) ;
}
public void setTankDirection(int state)
{
switch(state)
{
case 0 :
setTransform(TRANS_NONE) ;
setFrame(0) ;
break ;
case 1 :
setTransform(TRANS_NONE) ;
setFrame(1) ;
break ;
case 2 :
setTransform(TRANS_NONE) ;
setFrame(2) ;
break ;
case 3 :
setFrame(0) ;
setTransform(TRANS_ROT90) ;
break ;
case 4 :
setFrame(1) ;
setTransform(TRANS_ROT90) ;
break ;
case 5 :
setFrame(2) ;
setTransform(TRANS_ROT90) ;
break ;
case 6 :
setFrame(0) ;
setTransform(this.TRANS_ROT180) ;
break ;
case 7 :
setFrame(1) ;
setTransform(this.TRANS_ROT180) ;
break ;
case 8 :
setFrame(2) ;
setTransform(this.TRANS_ROT180) ;
break ;
case 9 :
setFrame(0) ;
setTransform(this.TRANS_ROT270) ;
break ;
case 10 :
setFrame(1) ;
setTransform(this.TRANS_ROT270) ;
break ;
case 11 :
setFrame(2) ;
setTransform(this.TRANS_ROT270) ;
break ;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -