掌叔
2008-06-10 15:50:58
摘自:bbs.khors.com
作者:Dr.Watson
JSprite 就是游戏里的"精灵", 用以寄放游戏内的角色之用, 主要功能就是动画处理.
动画种类:
ANIMATION_TYPE_LOOPING 重複播放
ANIMATION_TYPE_ONCE_AND_GONE 播放一次然后消失
ANIMATION_TYPE_ONCE_AND_BACK 播放一次然后停在第一格
ANIMATION_TYPE_PINGPONG 由前到后再由后到前的重複播放
对外变数:
bool mVisible 是否显示
float mX x位置
float mY y位置
JSprite methods:
JSprite::JSprite(JTexture *tex, float x, float y, float width, float height, bool flipped = false)
功能: 物件初始.
参数:
tex - 贴图
x - x贴图位置
y - y贴图位置
width - 贴图宽度
height - 贴图高度
flipped - 左右反转
virtual void JSprite::Update(float dt)
功能: 更新动画.
参数:
dt - 更新所用时间 (1/1000秒)
virtual void JSprite::Render();
功能: 显示动画
void JSprite::SetPosition(float x, float y)
功能: 设定位置
参数:
x - x位置
y - y位置
void JSprite::AddFrame(int x, int y, int width, int height, bool flipped = false)
功能: 新增一个动画格
参数:
x - x贴图位置
y - y贴图位置
width - 贴图宽度
height - 贴图高度
flipped - 左右反转
void JSprite::SetDuration(float duration)
功能: 设定动画速度
参数:
duration - 动画每格更新时间(1/1000秒)
virtual bool JSprite::CollideWith(JSprite *sprite)
功能: 碰撞测试
参数:
sprite - 碰撞测试对象
void JSprite::SetCollisionCircle(float cx, float cy, float radius)
功能: 设定碰撞测试圆形
参数:
cx - 圆心x
cy - 圆心y
radius - 圆半经
void JSprite::SetAnimationType(int type)
功能: 设定动画播放方法
参数:
type - 播放方法
void JSprite::ResetFrame()
功能: 重置动画到第一格
void JSprite::StartAnimation()
功能: 开始动画更新
void JSprite::StopAnimation()
功能: 停止动画更新
void JSprite::EnableAlpha(bool flag, float delta=0.0f)
功能: 设定更新时调整透明度
参数:
flag - true:更新 false:不更新
delta - 调整幅度
void JSprite::EnableScaling(bool flag, float delta=0.0f)
功能: 设定更新时调整缩放率
参数:
flag - true:更新 false:不更新
delta - 调整幅度
void JSprite::EnableRotation(bool flag, float delta=0.0f)
功能: 设定更新时调整角度
参数:
flag - true:更新 false:不更新
delta - 调整幅度
void JSprite::SetAlpha(float alpha)
功能: 设定透明度
参数:
alpha - 透明度
void JSprite::SetScale(float hscale, float vscale)
功能: 设定缩放率
参数:
hscale - 水平缩放率
vscale - 垂直缩放率
void JSprite::SetRotation(float rot)
功能: 设定角度
参数:
rot - 角度
JQuad* JSprite::GetQuad()
功能: 拿取贴图四边形
回应:
贴图四边形
float JSprite::GetXVelocity()
功能: 拿取x移动速度
回应:
x移动速度
float JSprite::GetYVelocity()
功能: 拿取y移动速度
回应:
y移动速度
void JSprite::SetSpeed(float speed)
功能: 设定移动速度
参数:
speed - 移动速度
float JSprite::GetSpeed()
功能: 拿取移动速度
回应:
移动速度
void JSprite::SetAngle(float angle)
功能: 设定移动角度
参数:
angle - 移动角度
void JSprite::SetAngle(float x, float y)
功能: 以目标设定移动角度
参数:
x - 目标x
y - 目标y
void JSprite::SetHotSpot(float x, float y)
功能: 设定动画中心点
参数:
x - 中心点x
y - 中心点y
void JSprite::SetColor(PIXEL_TYPE color)
功能: 设定渲染颜色
参数:
color - 渲染颜色
void JSprite::SetBlendMode(int blend)
功能: 设定渲染模式
参数:
blend - 渲染模式
float JSprite::GetAlpha()
功能: 拿取透明度
回应:
透明度
float JSprite::GetAngle()
功能: 拿取移动角度
回应:
移动角度
float JSprite::GetRotation()
功能: 拿取贴图角度
回应:
贴图角度
int JSprite::GetId()
功能: 拿取精灵id
回应:
精灵id
void JSprite::SetFlip(bool flip, int index = -1)
功能: 设定左右反转
参数:
flip - true: 反转 false:不反转
index - 动画格指标 (-1: 所有格)
void JSprite::SetBBox(int x, int y, int width, int height)
功能: 设定碰撞测试四边形 (未应用)
参数:
x - x位置
y - y位置
width - 宽度
height - 高度
void JSprite::GetBBox(int x, int y, int* xNow, int* yNow, int* width, int *height)
功能: 拿取碰撞测试四边形
参数:
x - x位置
y - y位置
回应:
xNow - x位置
yNow - y位置
width - 宽度
height - 高度
int JSprite::GetAnimationFrame()
功能: 拿取现时动画格数值
回应:
现时动画格数值
void JSprite::SetAnimationFrame(int frame)
功能: 设定动画格数值
参数:
frame - 动画格数值