Project1

标题: 结尾字幕滚动 [打印本页]

作者: 惠夏落痕    时间: 2012-1-19 04:08
标题: 结尾字幕滚动
我有在脚本编辑器里插入滚动字幕的脚本,为什么公共事件里调用$scene = Scene_Credit.new后,结尾还是一片黑屏没有滚动字幕?dsu_plus_rewardpost_czw
作者: 步兵中尉    时间: 2012-1-19 11:11
公共事件调用?
应该是自动执行的事件里使用脚本第三页最后的那个脚本的选项吧?
作者: 惠夏落痕    时间: 2012-1-19 13:49
步兵中尉 发表于 2012-1-19 11:11
公共事件调用?
应该是自动执行的事件里使用脚本第三页最后的那个脚本的选项吧? ...

不行...还是黑屏没有字幕....{:nm_2:}
请问还有没有其他的调用方法?
作者: fux2    时间: 2012-1-19 14:03
惠夏落痕 发表于 2012-1-19 13:49
不行...还是黑屏没有字幕....
请问还有没有其他的调用方法?

滚动字幕脚本你设置了文字吗?
作者: 惠夏落痕    时间: 2012-1-19 14:25
fux2 发表于 2012-1-19 14:03
滚动字幕脚本你设置了文字吗?

设置了,挺长的一串...包括素材来源和66rpg的网站
作者: 幻耶    时间: 2012-1-19 15:40
本帖最后由 幻耶 于 2012-1-19 15:46 编辑

我是事件指令里直接写的脚本,不行的话换缺省脚本看看
  1. class Scene_Credit
  2.   CREDIT=<<_END_
  3. -----123-----

  4. 1234567,

  5. 1234567。

  6. 1234567,

  7. 1234567。

  8. _END_
  9. end
  10. class Scene_Credit
  11.   def initialize(return_scene = nil)
  12.     @sprite = Sprite.new
  13.     @sprite.bitmap = Bitmap.new("Graphics/Pictures/tit")
  14.     @sprite.x = 0
  15.     @sprite.y = 0
  16.     if return_scene.nil?
  17.       return_scene = Scene_Map.new
  18.     end
  19.     @return_scene = return_scene
  20.   end
  21.   
  22.   def scene_start
  23.     credit_lines = CREDIT.split(/\n/)
  24.     credit_bitmap = Bitmap.new(640,32 * credit_lines.size)
  25.     credit_lines.each_index do |i|
  26.       line = credit_lines[i]
  27.       credit_bitmap.draw_text(0,i * 32,640,32,line,1)
  28.     end
  29.     @credit_sprite = Sprite.new(Viewport.new(0,50,640,380))
  30.     @credit_sprite.bitmap = credit_bitmap
  31.     @credit_sprite.oy = -430
  32.     @frame_index = 0
  33.     @last_flag = false
  34.   end
  35.   def scene_end
  36.     @credit_sprite.dispose
  37.     @sprite.dispose
  38.   end
  39.   def last?
  40.     return (@frame_index >= @credit_sprite.bitmap.height + 480)
  41.   end
  42.   def last
  43.     if not @last_flag
  44.       Audio.bgm_fade(10000)
  45.       @last_flag = true
  46.       @last_count = 0
  47.     else
  48.       @last_count += 1
  49.     end
  50.     if @last_count >= 300
  51.       $scene = @return_scene
  52.     end
  53.   end
  54.   def update
  55.     @frame_index += 1
  56.     return if cancel?
  57.     last if last?
  58.     @credit_sprite.oy += 1
  59.   end
  60.   def cancel?
  61.     if Input.trigger?(Input::B)
  62.       $scene = @return_scene
  63.       return true
  64.     end
  65.     return false
  66.   end
  67.   def main
  68.     scene_start
  69.     # 过渡
  70.     Graphics.transition
  71.     # 主循环
  72.     loop do
  73.       Graphics.update
  74.       Input.update
  75.       update
  76.       if $scene != self
  77.         break
  78.       end
  79.     end
  80.     # 准备过渡
  81.     Graphics.freeze
  82.     scene_end
  83.   end
  84. end
复制代码

作者: 步兵中尉    时间: 2012-1-19 16:21
建议你上传相关工程,因为我们不知道你究竟还用了哪些脚本,是否冲突
作者: 精灵使者    时间: 2012-1-19 16:25
那啥,前后都需要等待帧的说
否则脚本无法正常工作
作者: 惠夏落痕    时间: 2012-1-19 18:15
精灵使者 发表于 2012-1-19 16:25
那啥,前后都需要等待帧的说
否则脚本无法正常工作

谢谢亲~~~

果然等待20帧后就出现了的说......OTL




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