本帖最后由 余烬之中 于 2014-2-15 20:01 编辑
根据小周那个复写的 用法略有不同:
在Graphics下新建文件夹,名为MoviePics
假设你要放一个动画 名为"ani" 那么在MoviePics下再新建一个文件夹 名为ani
将图片碎片命名,形如【"(1).png","(2).png",……】不需要加上"ani"
事件脚本调用:
picmovie(文件夹名也就是动画名, 横坐标, 纵坐标, 图片张数, 每张图片停留的帧数, 显示端口)
每张图片停留的帧数可以省略 默认为一帧 显示端口也可以省略
#============================================================================== # ■ Cache #============================================================================== class << Cache def moviepics(folder, seq) load_bitmap("Graphics/MoviePics/#{folder}/", "(#{seq})") end end #============================================================================== # ■ Game_Interpreter #============================================================================== class Game_Interpreter def picmovie(folder, x, y, fcount, wcount = 1, viewport = nil) sp = Sprite.new(viewport) sp.x, sp.y = x, y seq = 1 until seq >= fcount sp.bitmap.dispose if sp.bitmap sp.bitmap = Cache.moviepics(folder, seq) wcount.times{Graphics.update; Fiber.yield} seq += 1 end rescue msgbox "错误信息:#{$!}\n播放到第#{seq}张,在动画#{folder}" if $TEST || $BTEST ensure sp.dispose rescue nil end end
#==============================================================================
# ■ Cache
#==============================================================================
class << Cache
def moviepics(folder, seq)
load_bitmap("Graphics/MoviePics/#{folder}/", "(#{seq})")
end
end
#==============================================================================
# ■ Game_Interpreter
#==============================================================================
class Game_Interpreter
def picmovie(folder, x, y, fcount, wcount = 1, viewport = nil)
sp = Sprite.new(viewport)
sp.x, sp.y = x, y
seq = 1
until seq >= fcount
sp.bitmap.dispose if sp.bitmap
sp.bitmap = Cache.moviepics(folder, seq)
wcount.times{Graphics.update; Fiber.yield}
seq += 1
end
rescue
msgbox "错误信息:#{$!}\n播放到第#{seq}张,在动画#{folder}" if $TEST || $BTEST
ensure
sp.dispose rescue nil
end
end
|