查看: 76|回复: 0

[转载发布] 【更新】伪动态/视频 脚本

[复制链接]
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 37 天

    连续签到: 3 天

    [LV.5]常住居民I

    2028

    主题

    32

    回帖

    7260

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    0
    卡币
    5184
    OK点
    16
    积分
    7260
    发表于 同元一千年八月六日(秋) | 显示全部楼层 |阅读模式
    做完这个脚本突然发现以前有个前辈也发布过类似脚本,就是动态标题菜单那个,和我的原理一样。
    ↑防触雷先声明。

    最后一下退出好像没录进去。
    由于2611张帧图=26.9M所以就不用毒盘等工具放工程了,脚本是关键啦。
    前面切换选项时换背景其实就是图片标题菜单的原理。

    [pre lang="ruby" line="1" file="伪动态/视频"]class Scene_Logo20 # ■伪视频说明:越往后面越不同步
      def main
        @i = 10
        # 生成伪视频前的准备:确定使用文件路径和居中
        @sprite = Sprite.new
        @sprite.bitmap = RPG::Cache.gameover("badapple20/" + @i.to_s)
        @sprite.ox = @sprite.bitmap.width / 2
        @sprite.oy = @sprite.bitmap.height / 2
        @sprite.x = 320
        @sprite.y = 240
        # 我来组成 BGM
        Audio.bgm_play("Audio/BGM/badapple.ogg" ,100 ,100)
        Graphics.transition
        # 主循环
        loop do
          @sprite.bitmap = RPG::Cache.gameover("badapple20/" + @i.to_s)
          # 刷新游戏画面
          Graphics.update
          @sprite.bitmap = RPG::Cache.gameover("badapple20/" + @i.to_s)
          # 刷新游戏画面
          Graphics.update
          # 刷新输入信息
          Input.update
          # 刷新画面
          @i += 1
          Graphics.update
          # 如果画面被切换就中断循环
          if $scene != self or @i == 2610
            break
          end
          # 每500帧清空一下缓存确保流畅运行
          if @i % 500 == 0
            RPG::Cache.clear
          end
        end
        # 各种释放
        Graphics.freeze
        @sprite.bitmap.dispose
        @sprite.dispose
        # 注释此行可BGM不停止
        Audio.bgm_stop
        # 呼出 Title
        $scene = Scene_Title.new
        # BGM已停止、、、
      end
    end[/pre]


    话说注释得多有木有糖?
    上面是用于播放视频的,使用时请先更改倒数第四行和Audio以及@sprite.bitmap后面的内容。调出方法用 Scene_Logo20.new
    第一个@i = 10是指从文件名为“10.jpg”的文件开始刷新,也就是开头,下面的“@i == 2610”是指播放到“2611.jpg”的图就停止播放。这两个值可用来调同步率。
    关于帧图的制作请翻到文末。

    [pre lang="ruby" line="1" file="插入型"]    @i = 722
        # 生成伪视频前的准备:确定使用文件路径和居中
        @sprite = Sprite.new
        @sprite.bitmap = RPG::Cache.gameover("badapple20/" + @i.to_s)
        @sprite.ox = @sprite.bitmap.width / 2
        @sprite.oy = @sprite.bitmap.height / 2
        @sprite.x = 320
        @sprite.zoom_x = 1.25
        @sprite.y = 240
        @sprite.zoom_y = 1.25
        # 主循环
        loop do
          @sprite.bitmap = RPG::Cache.gameover("badapple20/" + @i.to_s)
          # 刷新游戏画面
          Graphics.update
          @sprite.bitmap = RPG::Cache.gameover("badapple20/" + @i.to_s)
          # 刷新游戏画面
          Graphics.update
          # 刷新输入信息
          Input.update
          # 刷新画面
          @i += 1
          Graphics.update
          # 如果画面被切换就中断循环
          if $scene != self or @i == 790
            break
          end
          # 每500帧清空一下缓存确保流畅运行
          if @i % 500 == 0
            RPG::Cache.clear
          end
        end
        # 各种释放
        Graphics.freeze
        @sprite.bitmap.dispose
        @sprite.dispose
    [/pre]


    上面这段可以插入在默认脚本中,使用时仍然要先改上述内容,“722”“790”就是视频中演示的菜单中只播放一段视频。
    等完美版做出来我会更新在脚本开头就能改相应数据的。

    下面是吐槽:关于为什么是20帧而不是40帧以及脚本中Graphics.update×3大丈夫吗不会卡帧吗什么的,其实我做了一个40帧的版本(6000多张),运行时完全不同步,RMXP的帧率真是碉堡了。掉帧什么的我不想吐槽了。


    视频中的2倍速,很简单把第一个脚本的17 18 19 27行删掉,然后改一下BGM的节拍(第三个数值)为210就行了。
    ps:结合真后台脚本享用更佳~

    下面是技术信息,关于帧图制作,
    采用KMP高级捕获技术每秒20帧捕获=每50毫秒一张
    捕获结束请打开毁图看看,右击图片进行批量转格式(如果你第一次捕获选择bmp格式要换到jpg格式)和批量重命名(选做:批量改大小。。很占CPU不建议一次弄完),建议分3-5次弄完。
    关于音频,可以百度,也可以用KMP高级捕获技术提取音频。建议转成ogg格式。
    如果想只播放一次请将 Audio.bgm_play 改成 Audio.se_play


    更新了关于丫的视频(“分数”做好),同时也想请问一下有没有什么好的方法做音乐游戏菜单。。
    视频更新完成。

    请注意左上角。
                 本帖来自P1论坛作者kuerlulu,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=328945  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 论坛版权

    使用道具 举报

    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2024-5-15 01:53 , Processed in 0.046782 second(s), 43 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表