查看: 1857|回复: 4

[已经解决] 如何在场景执行时先播放个动画和音乐?

[复制链接]
梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
回帖
1074
发表于 2017-12-23 12:04:37 | 显示全部楼层 |阅读模式

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

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

×
合成.zip (206.23 KB, 下载次数: 62)
比如这个合成系统,当选择“是”。
合成时播放动画和播放音乐,结束后还原音乐。
请问该怎么做呢?
一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。
梦石
0
星屑
1397
在线时间
185 小时
注册时间
2007-2-28
回帖
139
发表于 2017-12-24 04:13:08 | 显示全部楼层
不是很明白你的需求……动画是要在哪里播放,最简单的实现方式还是每隔几帧显示一张图片,然后等图片显示完再还原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]

顺便传了个范例工程

合成.zip

963.44 KB, 下载次数: 61

评分

参与人数 1赞 +1 收起 理由
文雅夕露 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
回帖
1074
 楼主| 发表于 2017-12-24 10:53:00 | 显示全部楼层
梦幻想 发表于 2017-12-24 04:13
不是很明白你的需求……动画是要在哪里播放,最简单的实现方式还是每隔几帧显示一张图片,然后等图片显示完 ...

这种方法可行,不过我要播放的动画帧数还挺长。
分割图片的方法会大幅度提高游戏容量的。
不如可否直接播放数据库里的动画呢?
一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。
回复

使用道具 举报

梦石
0
星屑
1397
在线时间
185 小时
注册时间
2007-2-28
回帖
139
发表于 2017-12-24 12:45:18 | 显示全部楼层
本帖最后由 梦幻想 于 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]

点评

效果实现了,感谢前辈的帮助。  发表于 2017-12-24 12:55

评分

参与人数 1星屑 +100 收起 理由
guoxiaomi + 100 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部