📄 player.java
字号:
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
public class player extends brick
{
static boolean leftMove=false;
static boolean rightMove=false;
static int fraction=0;
static int fractionBuffer=0;
static int playerLv=1;//挡板长度等级
static int life=3;
int playerLvLong=5;//挡板等级长度偏差值/2
int playerLvBuffer=1;
int speed=3;
int playerX;
int playerY;
Image playerImg=null;
myCanvas mc;
public player(myCanvas mc)
{
super(1,1,1,mc);
this.mc=mc;
initRes() ;
playerX=(mc.getWidth()-playerImg.getWidth())/2;
if(mc.getHeight()<mc.backGround.getHeight())
playerY=mc.getHeight()-playerImg.getHeight()-1;
else
playerY=mc.backGroundY+mc.backGround.getHeight()-playerImg.getHeight()-7;
brickX=playerX;
brickY=playerY;
}
public void initRes()
{
playerLvBuffer=playerLv;
try
{
playerImg=Image.createImage("/player"+playerLv+".png");
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("player.playerImg图片加载错误");
}
brickImg=playerImg;
brickH=playerImg.getHeight();//挡板的高度
brickW=playerImg.getWidth();//挡板的宽度
brickX=playerX;
brickY=playerY;
}
public void paint(Graphics g)
{
if(playerLvBuffer!=playerLv)
{
if(playerLvBuffer<playerLv)
playerX-=playerLvLong;
if(playerLvBuffer>playerLv)
playerX+=playerLvLong;
initRes();
}
if(fractionBuffer<fraction)
fractionBuffer++;
else if(fractionBuffer>fraction)
fractionBuffer--;
g.setColor(0xffffff);
g.setClip(mc.backGroundX, mc.backGroundY, mc.backGround.getWidth(), 25);
Font font=Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_BOLD, Font.SIZE_MEDIUM);
g.setFont(font);
g.drawString("生命:"+life, mc.backGroundX+3+1, mc.backGroundY+3+1, 0);
g.drawString("关卡:"+myCanvas.level, mc.getWidth()/2-30, mc.backGroundY+3+1, 0);
//g.drawString("分数:"+fractionBuffer, mc.backGroundX+mc.backGround.getWidth()-6-65, mc.backGroundY+3+1, 0);
g.setColor(0x000000);
g.setClip(playerX, playerY, playerImg.getWidth(), playerImg.getHeight());
g.fillRect(playerX, playerY, playerImg.getWidth(), playerImg.getHeight());
g.drawImage(playerImg, playerX, playerY, 0);
}
public void move()
{
brickX=playerX;
brickY=playerY;
if(leftMove==true)
{
playerX-=speed;
}
if(rightMove==true)
{
playerX+=speed;
}
if(playerX<mc.backGroundX+3)
{
playerX=mc.backGroundX+3;
}
else if(playerX+playerImg.getWidth()>mc.backGroundX+mc.backGround.getWidth()-3)
{
playerX=mc.backGroundX+mc.backGround.getWidth()-3-playerImg.getWidth();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -