查看: 2018|回复: 1

[RMVX发布] 播放连续图片 VX版

[复制链接]

百合控

梦石
0
星屑
6548
在线时间
1275 小时
注册时间
2013-8-21
回帖
3522

开拓者

发表于 2014-2-16 17:15:47 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 余烬之中 于 2014-6-12 20:08 编辑

XP版 作者@天地有正气

于是移植了VA(VA版)
然后发现小改一下就是VX的了
懒得编辑帖子 于是又来一帖
用法和VA一样 楼主分分钟下线 所以麻烦移步VA版看使用说明

[fold=脚本内容][pre lang="ruby" line="1"]#==============================================================================
# ■ 播放连续图片
#  作者:影月千秋
#  版本:V 1.0
#  适用:VX
#------------------------------------------------------------------------------
# ● 简介
#  可以按顺序播放一连串图片 形成动画效果
#  XP版作者:天地有正气
#  详见发布帖:http://rpg.blue/thread-351129-1-1.html
#==============================================================================
# ● 使用方法
#   将此脚本插入到其他脚本以下,Main以上
#   在Graphics下新建文件夹,名为MoviePics
#   假设你需要一个动画 名为"ani" 那么在MoviePics下再新建一个文件夹 名为ani
#    把图片碎片保存在Graphics/MoviePics/ani下
#    将图片碎片命名,形如【"(1).png","(2).png",……】不需要加上"ani"
#   事件脚本调用:
#    picmovie(文件夹名, 横坐标, 纵坐标, 图片张数, 每张图片停留的帧数, 显示端口)
#   每张图片停留的帧数可以省略 默认为一帧  显示端口也可以省略
#   在这个例子中 也就是:
#    picmovie("ani", 100, 150, 20, 3)
#   代表总共有20张图片 显示在(100,150)这个地方 图片在ani文件夹内 每张停留3帧
#   也可以使用
#    picmovie2(文件夹名, 事件ID, 图片张数, 每张图片停留的帧数, 显示端口)
#   将在指定ID的事件上播放动画 事件ID为0 则为当前事件 为-1 则为玩家
#   注意这个是picmovie2 而不是picmovie
#==============================================================================
# ● 更新
#   V 1.0 2014.02.16 VX新建
#==============================================================================
# ● 声明
#   本脚本来自【影月千秋】
#   本脚本XP版来自【天地有正气】
#   使用、修改和转载请保留此信息
#==============================================================================

#==============================================================================
# ■ 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}
      seq += 1
    end
  rescue
    p "错误信息:#{$!}\n播放到第#{seq}张,在动画#{folder}" if $TEST || $BTEST
  ensure
    sp.dispose rescue nil
  end
  def picmovie2(folder, cid, fcount, wcount = 1, viewport = nil)
    sp = Sprite.new(viewport)
    seq = 1
    sp.bitmap = Cache.moviepics(folder, seq)
    sp.ox, sp.oy = sp.bitmap.width / 2, sp.bitmap.height / 2
    sp.x, sp.y = get_character(cid).screen_x, get_character(cid).screen_y
    until seq >= fcount
      sp.bitmap.dispose if sp.bitmap
      sp.bitmap = Cache.moviepics(folder, seq)
      wcount.times{Graphics.update}
      seq += 1
    end
  rescue
    p "错误信息:#{$!}\n播放到第#{seq}张,在动画#{folder}" if $TEST || $BTEST
  ensure
    sp.dispose rescue nil
  end
end[/pre][/fold]
萌新瑟瑟发抖
看到我请叫我去干活
梦石
0
星屑
90
在线时间
85 小时
注册时间
2012-5-27
回帖
115
发表于 2014-2-16 22:51:46 来自手机 | 显示全部楼层
额,为什么不直接做播放flash的呢?图片多麻烦.......不过还是支持一下,哈哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部