赞 | 2 |
VIP | 143 |
好人卡 | 1 |
积分 | 1 |
经验 | 216792 |
最后登录 | 2019-10-10 |
在线时间 | 24 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 61
- 在线时间
- 24 小时
- 注册时间
- 2008-8-5
- 帖子
- 1924
|
设计一个从 Sprite 派生的精灵类,用上面的素材循环显示动画,然后在你想要显示它的地方建立一个实例,不要的时候 dispose 之~
一个在 Scene_Map 上显示的简单例子:class Sprite_PushHint < Sprite
# 初始化精灵的各种属性
def initialize(x, y, z = 0, viewport = nil, ox = 0, oy = 0)
super(viewport)
# Pictures 目录下的动画素材,这里用的是顶楼这张作为例子
self.bitmap = RPG::Cache.picture("untitled.png")
self.x = x
self.y = y
self.ox = ox
self.oy = oy
self.z = z
# 记录动画帧数的变量
@frame_count = 0
update
end
def update
# 帧数从 0 到 11 再到 0,如此循环
@frame_count = (@frame_count + 1) % 12
# 设置传送源矩形,两帧就换下一幅图
self.src_rect.set(@frame_count / 2 * 37, 0, 37, 55)
end
end
class Scene_Map
alias main_old main
alias update_old update
def main
# 在 Scene_Map 初始化时建立精灵对象
@pushHint_sprite = Sprite_PushHint.new(100, 100, 10000)
main_old
# 结束时释放精灵对象
@pushHint_sprite.dispose
end
def update
update_old
# Scene_Map 刷新时刷新精灵
@pushHint_sprite.update
end
end |
|