Project1

标题: 如何在场景执行时先播放个动画和音乐? [打印本页]

作者: 文雅夕露    时间: 2017-12-23 12:04
标题: 如何在场景执行时先播放个动画和音乐?
(, 下载次数: 62)
比如这个合成系统,当选择“是”。
合成时播放动画和播放音乐,结束后还原音乐。
请问该怎么做呢?
作者: 梦幻想    时间: 2017-12-24 04:13
不是很明白你的需求……动画是要在哪里播放,最简单的实现方式还是每隔几帧显示一张图片,然后等图片显示完再还原BGM
比如你这个范例就改706行附近的代码

[pre lang="ruby" line="706"]    if Input.trigger?(Input::C)
      if @yes_no_window.index == 0
        #=====================================================
        $game_system.bgm_memorize
        Audio.bgm_play("Audio/BGM/XXXXXXX" ,100, 100)   #XXXXX是你想要播放的BGM名称
        sprite=Sprite.new
        sprite.x = 220
        sprite.y = 140
        sprite.z = 99999
        for i in 1...n                #N是你要连续播放的图片数量,为了播放动画
        sprite.bitmap = RPG::Cache.picture("a ("+i.to_s+").png")    #图片的命名格式为“a (n)”,n=1,2,3,4,5,6........
        3.times{Graphics.update}
        sprite.update
        end
        sprite.dispose
        $game_system.bgm_restore
        #=====================================================
        $game_system.se_play($data_system.decision_se)
        @recipe.make
        $game_system.se_play($data_system.save_se)
        $scene=Scene_Craft.new(@craft_type,@craft_index)
      else
        $game_system.se_play($data_system.cancel_se)
        $scene=Scene_Craft.new(@craft_type,@craft_index)
      end
    end[/pre]

顺便传了个范例工程
作者: 文雅夕露    时间: 2017-12-24 10:53
梦幻想 发表于 2017-12-24 04:13
不是很明白你的需求……动画是要在哪里播放,最简单的实现方式还是每隔几帧显示一张图片,然后等图片显示完 ...

这种方法可行,不过我要播放的动画帧数还挺长。
分割图片的方法会大幅度提高游戏容量的。
不如可否直接播放数据库里的动画呢?
作者: 梦幻想    时间: 2017-12-24 12:45
本帖最后由 梦幻想 于 2017-12-24 12:47 编辑
文雅夕露 发表于 2017-12-24 10:53
这种方法可行,不过我要播放的动画帧数还挺长。
分割图片的方法会大幅度提高游戏容量的。
不如可否直接播 ...


[pre lang="ruby" line="709"]$game_system.bgm_memorize
        Audio.bgm_play("Audio/BGM/1.ogg" ,100, 100)
        #sprite=Sprite.new  <-----改成下面这行
        sprite=RPG::Sprite.new
        sprite.x = 320
        sprite.y = 240
        sprite.z = 99999
        sprite.animation($data_animations[3],true) #播放的动画id
        for i in 1...18   #按照动画帧数循环
        Graphics.update
        sprite.update
        end
        sprite.dispose
        $game_system.bgm_restore[/pre]




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X5.0