Project1

标题: 战斗开始前先显示一张图片 [打印本页]

作者: angelwangm    时间: 2009-3-19 21:13
标题: 战斗开始前先显示一张图片
如何改脚本能实现播放战斗开始的音效的同时,随机出现战斗1.jpg、战斗2.jpg、战斗3.jpg中的一张图片,等战斗开始的音效结束后图片消失,再播放战斗音乐开始战斗。麻烦高手们给改下脚本,并指出修改的地方。万谢! [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 听雨一生    时间: 2009-3-19 21:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: tommay    时间: 2009-3-19 22:40
可以用数据库中“队伍”选项卡下的战斗事件来做
条件选择 回合0+0x
执行 显示图片  等待  图片消失

不过你说的在显示图片时播放一个音乐 图片消失后播放另一个音乐 貌似默认的不行 你需要改脚本

作者: secondsen    时间: 2009-3-19 22:48
在Spriteset_Battle用下面的替换
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize
    XXXX
    XXXX
  end



  1.   #--------------------------------------------------------------------------
  2.   # ● 初始化对象
  3.   #--------------------------------------------------------------------------
  4.   def initialize
  5.     create_viewports
  6.     create_battleback
  7.     create_battlefloor
  8.     create_enemies
  9.     create_actors
  10.     create_pictures
  11.     create_timer
  12.     ################################
  13.     @battle_sprite = Sprite.new
  14.     @battle_sprite.bitmap = Bitmap.new("战斗"+(rand(3) + 1).to_s+".jpg")
  15.     @battle_sprite.z = 999
  16.     ################################
  17.     update
  18.   end
  19.   ##################################
  20.   def clear_start
  21.     @battle_sprite.bitmap.dispose
  22.     @battle_sprite.dispose
  23.   end
  24.   ##################################

复制代码


在 scene_battle

  #--------------------------------------------------------------------------
  # ● 开始处理战斗
  #--------------------------------------------------------------------------
  def process_battle_start
    @message_window.clear
    wait(10)

之后插入下面的东西
应该是530行

  1.    
  2.     loop do
  3.       Input.update
  4.       Graphics.update
  5.       if Input.trigger?(Input::B)
  6.         @spriteset.clear_start
  7.         break
  8.       end
  9.     end

复制代码

作者: secondsen    时间: 2009-3-19 22:49
等战斗开始的音效结束后图片消失...原来还有这么一句。。。我写的是。。你摁ESC之后。。。图片就会消失。。。战斗就正常进行了。。。OTL。。。我没注意,不好意思

而且还是进入战斗才显示图片
作者: angelwangm    时间: 2009-3-19 23:47
那么,楼上能再修改一下吗?{/gg}
作者: angelwangm    时间: 2009-3-20 02:48
顶上去啊!
作者: 静·界    时间: 2009-3-20 03:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: angelwangm    时间: 2009-3-20 03:45
谢谢楼上提供的思路,不过即使我把游戏改成明雷,也只能做到先出一张图片,图片消失后才能出现战斗开始的音效。
作者: 天使喝可乐    时间: 2009-3-20 04:44
以下引用angelwangm于2009-3-19 19:45:05的发言:

谢谢楼上提供的思路,不过即使我把游戏改成明雷,也只能做到先出一张图片,图片消失后才能出现战斗开始的音效。

那就先
播放BGM 显示图片 停止BGM 进入战斗
作者: angelwangm    时间: 2009-3-20 06:25
难道真的不能用修改脚本实现吗?
作者: 玄月    时间: 2009-3-20 06:56
所谓的“高手”都死哪去了 = =?
战斗开始的时候可以用显示精灵的方法显示图片。在Scene_battle1的def mian 后面插入
@pic = Sprite.new
@pic.bitmap = Bitmap.new("Graphics/pictures/")
@pic.z = 1000
如果要用随机数的话可以用
i = rand(2)
case i
when 0
@pic = Sprite.new
@pic.bitmap = Bitmap.new("Graphics/pictures/1")
@pic.z = 1000
when 1
@pic = Sprite.new
@pic.bitmap = Bitmap.new("Graphics/pictures/2")
@pic.z = 1000
when 2
@pic = Sprite.new
@pic.bitmap = Bitmap.new("Graphics/pictures/3")
@pic.z = 1000
end
或者这样
i = rand(2)+1
@pic = Sprite.new
@pic.bitmap = Bitmap.new("Graphics/pictures/#{i}")
@pic.z = 1000
恩,差不多了。然后什么特效之类的也可以做出来。脚本简单点的就是缩放 zoom_x zoom_y。
然后用
for i in 0...17
Graphics.update
end
这里是等待的帧数,这里17是指等待17帧的样子。觉得还是刷新位图比较好用。那个
@wait_count = X 总是没反应。
好了,就这么多了。剩下的自己琢磨一下,不难的 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: angelwangm    时间: 2009-3-20 07:01
谢了
作者: angelwangm    时间: 2009-6-12 08:00
谢了




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