📄 sprite.java
字号:
package com.hbwhzdg.goldminer.graphics;
import java.awt.Image;
/**
*
* <p>Title: 角色</p>
*
* <p>Description: 以毫秒为级别,以指定动画生成角色在运动中过程中的位置以及要显示的动画帧。</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class Sprite {
protected Animation anim;//该角色的动画形态。
// 该角色的位置。
private float x;
private float y;
// 每毫秒的象素移动速度,仅该角色为移动状态时使用。
private float dx;
private float dy;
private String name=null;//该角色的名称。
/**
* 用指定的动画创建角色。
* @param anim Animation
*/
public Sprite(Animation anim) {
this.anim = anim;
}
/**
* 更新动画。
* 该动画在当前的位置该显示哪一帧。
* 对于移动的角色请重写该方法,以计算出角色当前所处的位置(x,y)。
* @param elapsedTime long 与上次更新时间的差值,毫秒级
*/
public void update(long elapsedTime) {
anim.update(elapsedTime);
}
/**
* 该角色当前位置的X轴。
* @return float
*/
public float getX() {
return x;
}
/**
* 该角色当前位置的Y轴。
* @return float
*/
public float getY() {
return y;
}
public Animation getAnim() {
return anim;
}
public String getName() {
return name;
}
/**
* 设置该角色当前位置的X轴。
* @param x float
*/
public void setX(float x) {
this.x = x;
}
/**
* 设置该角色当前位置的Y轴。
* @param y float
*/
public void setY(float y) {
this.y = y;
}
public void setName(String name) {
this.name = name;
}
/**
* 该角色的宽度。
* @return int
*/
public int getWidth() {
return anim.getImage().getWidth(null);
}
/**
* 该角色的长度。
* @return int
*/
public int getHeight() {
return anim.getImage().getHeight(null);
}
/**
* 该角色每毫秒沿X轴移动的像素数量。
* @return float
*/
public float getVelocityX() {
return dx;
}
/**
* 该角色每毫秒沿Y轴移动的像素数量。
* @return float
*/
public float getVelocityY() {
return dy;
}
/**
* 设置该角色每毫秒沿X轴移动的像素数量。
* @param dx float
*/
public void setVelocityX(float dx) {
this.dx = dx;
}
/**
* 设置该角色每毫秒沿Y轴移动的像素数量。
* @param dy float
*/
public void setVelocityY(float dy) {
this.dy = dy;
}
/**
* 该角色当前要显示的图片。
* @return Image
*/
public Image getImage() {
return anim.getImage();
}
/**
*
* @return int
*/
public int getFramesSize(){
return anim.getFramesSize();
}
public void setCurrFrameIndex(int currFrameIndex){
anim.setCurrFrameIndex(currFrameIndex);
}
/**
* 克隆一个副本。
* @return Object
*/
public Object clone() {
Sprite sprite = new Sprite(anim);
sprite.setName(getName());
return sprite;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -