📄 gameobject.java
字号:
package fly;
import javax.microedition.lcdui.game.*;
import javax.microedition.lcdui.*;
public class GameObject {//游戏物体类
public boolean alive;//存活标记
public int lifetime=0;//生命周期,以桢为单位
public int speed=0;//动画桢更新速度,0至无穷
public Sprite sprite;//内置的Sprite
private int animcount=0;//动画桢更新计数器
private int lifecount=0;//生命周期计数器
public GameObject(Image img,int width,int height){//构造函数
sprite=new Sprite(img,width,height);//img为sprite 的图片对象
reset();//width,height为sprite帧的宽度和高度
}//GameObject
public void move(int dx,int dy){//相对移动
sprite.move(dx,dy);//把游戏对象移动到指定偏移的位置
}//move
public void moveto(int x,int y){//绝对移动
sprite.setPosition(x,y);//sprite 对象调用 setPosition 方法
}//moveto
public void paint(Graphics g){//绘画
if(!alive)
return;
sprite.paint(g);
}//paint
public void reset(){//重置成员变量
alive=true;
lifecount=0;
animcount=0;
sprite.setFrame(0);
}//reset
public void update(){//更新状态,动画桢更新,生命周期更新
if(!alive)
return;
if(++animcount>speed){//动画帧更新计数器大于动画帧更新速度
animcount=0;
sprite.nextFrame();
if(lifetime!=0 && ++lifecount>lifetime)
alive=false;
}//if
}//update
}//GameObject
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -