Project1
标题: 如何在场景执行时先播放个动画和音乐? [打印本页]
作者: 文雅夕露 时间: 2017-12-23 12:04
标题: 如何在场景执行时先播放个动画和音乐?
合成.zip
(206.23 KB, 下载次数: 62)
比如这个合成系统,当选择“是”。
合成时播放动画和播放音乐,结束后还原音乐。
请问该怎么做呢?
作者: 梦幻想 时间: 2017-12-24 04:13
不是很明白你的需求……动画是要在哪里播放,最简单的实现方式还是每隔几帧显示一张图片,然后等图片显示完再还原BGM
比如你这个范例就改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
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
顺便传了个范例工程
-
-
合成.zip
963.44 KB, 下载次数: 61
作者: 文雅夕露 时间: 2017-12-24 10:53
这种方法可行,不过我要播放的动画帧数还挺长。
分割图片的方法会大幅度提高游戏容量的。
不如可否直接播放数据库里的动画呢?
作者: 梦幻想 时间: 2017-12-24 12:45
本帖最后由 梦幻想 于 2017-12-24 12:47 编辑
$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
$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
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |