📄 playerlayer.java
字号:
package src;
import java.io.IOException;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.LayerManager;
import javax.microedition.lcdui.game.Sprite;
public class PlayerLayer {
private Sprite player = null;
private int PLAYER_WIDTH = 20;
private int PLAYER_HEIGHT = 20;
public int SPEED_INCREASE = 0;
private PlayCanvas playCanvas = null;
public PlayerLayer(LayerManager layerManager,PlayCanvas playCanvas)
{
this.playCanvas = playCanvas;
try {
Image image = Image.createImage("/res/player.png");
player = new Sprite(image,PLAYER_WIDTH,PLAYER_HEIGHT);
player.setPosition(100, 50);
player.defineCollisionRectangle(10, 20, 1, 3); //缩小碰撞体积
layerManager.append(player);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Sprite getPlayer()
{
return player;
}
public void update()
{
Sprite[] sprite = PlayCanvas.rectangle.getSprites();
for(int i = 0;i < sprite.length;i++)
{
if(player.collidesWith(sprite[i], false))
{
moveUP();
PlayCanvas.rectangle.collidesAction(PlayCanvas.rectangle.recTypeRecoder[i],player,sprite[i]);//触发碰撞事件
SPEED_INCREASE = 0;
return;
}
}
RectangleLayer.hasSounded = false;
moveDown();
checkLife();
}
public void moveDown()
{
player.setFrameSequence(new int[]{27,28,29,30});
player.move(0,GameMIDlet.MOVE_DOWN_SPEED+(SPEED_INCREASE++)/2);
}
public void moveUP()
{
// player.setFrameSequence(new int[]{8});
player.move(0, -GameMIDlet.MOVE_UP_SPEED);
}
private void checkLife()
{
if(player.getY()>280)
{
GameMIDlet.soundControl.deadSound1();
player.setPosition(100, 50);
playCanvas.getMIDlet().gameOver();
}
else if(player.getY() < 40)
{
player.setFrameSequence(new int[]{17});
GameMIDlet.soundControl.typeSound4();
player.move(0, 2);
GameMIDlet.PLAYER_LIFE -= 3;
}
if(GameMIDlet.PLAYER_LIFE <= 0)
{
GameMIDlet.soundControl.deadSound2();
playCanvas.getMIDlet().gameOver();
}
// System.out.println(GameMIDlet.PLAYER_LIFE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -