tanksprite2.java

来自「同样是用j2me写的」· Java 代码 · 共 113 行

JAVA
113
字号
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 + =
减小字号Ctrl + -
显示快捷键?