📄 playertank.java
字号:
package newpackagetank;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
//玩家控制的坦克
public class PlayerTank extends TankSprite {
PlayerTank(Image image, int frameWidth, int frameHeight) {
super(image, frameWidth, frameHeight);
}
//处理按键的操作,参数keyStates为按键状态
public void Input(int keyStates) {
if ((keyStates & GameCanvas.UP_PRESSED) != 0) {//向上移动坦克
SetDir(0);
setTransform(TRANS_NONE);
Move(0, -m_nSpeed);
}
if ((keyStates & GameCanvas.RIGHT_PRESSED) != 0) {//向右移动坦克
SetDir(1);
setTransform(TRANS_ROT90);
Move(m_nSpeed, 0);
}
if ((keyStates & GameCanvas.DOWN_PRESSED) != 0) {//向下移动坦克
SetDir(2);
setTransform(TRANS_ROT180);
Move(0, m_nSpeed);
}
if ((keyStates & GameCanvas.LEFT_PRESSED) != 0) {//向左移动坦克
SetDir(3);
setTransform(TRANS_MIRROR_ROT270);
Move(-m_nSpeed, 0);
}
if ((keyStates & GameCanvas.FIRE_PRESSED) != 0) {//发射炮弹
CreateBullet();
}
}
public void InputClient(int keyStates) {
if ((keyStates & GameCanvas.UP_PRESSED) != 0) {//向上移动坦克
SetDir(0);
setTransform(TRANS_NONE);
Move(0, -m_nSpeed);
}
if ((keyStates & GameCanvas.RIGHT_PRESSED) != 0) {//向右移动坦克
SetDir(1);
setTransform(TRANS_ROT90);
Move(m_nSpeed, 0);
}
if ((keyStates & GameCanvas.DOWN_PRESSED) != 0) {//向下移动坦克
SetDir(2);
setTransform(TRANS_ROT180);
Move(0, m_nSpeed);
}
if ((keyStates & GameCanvas.LEFT_PRESSED) != 0) {//向左移动坦克
SetDir(3);
setTransform(TRANS_MIRROR_ROT270);
Move(-m_nSpeed, 0);
}
if ((keyStates & GameCanvas.FIRE_PRESSED) != 0) {//发射炮弹
CreateBulletClient();
}
}
public void Input(int keyStates, MainCanvas canvas) {
if ((keyStates & GameCanvas.UP_PRESSED) != 0) {//向上移动坦克
canvas.sendMessage(keyStates);
SetDir(0);
setTransform(TRANS_NONE);
Move(0, -m_nSpeed);
}
if ((keyStates & GameCanvas.RIGHT_PRESSED) != 0) {//向右移动坦克
canvas.sendMessage(keyStates);
SetDir(1);
setTransform(TRANS_ROT90);
Move(m_nSpeed, 0);
}
if ((keyStates & GameCanvas.DOWN_PRESSED) != 0) {//向下移动坦克
canvas.sendMessage(keyStates);
SetDir(2);
setTransform(TRANS_ROT180);
Move(0, m_nSpeed);
}
if ((keyStates & GameCanvas.LEFT_PRESSED) != 0) {//向左移动坦克
canvas.sendMessage(keyStates);
SetDir(3);
setTransform(TRANS_MIRROR_ROT270);
Move(-m_nSpeed, 0);
}
if ((keyStates & GameCanvas.FIRE_PRESSED) != 0) {//发射炮弹
canvas.sendMessage(keyStates);
CreateBullet();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -