Project1

标题: 问下滚动字幕 [打印本页]

作者: 紫雨琉璃    时间: 2008-3-15 03:44
标题: 问下滚动字幕
刚开始弄的时候直接复制其他的档……
结果滚动就不会弄了……
滚动时的BGM怎么改成标题BGM? [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: xiarongshan    时间: 2008-3-15 03:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: Iselia雪    时间: 2008-3-15 10:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: 水迭澜    时间: 2008-3-15 20:37
在def main的第一行加上$game_system.bgm_play($data_system.title_bgm) [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 紫雨琉璃    时间: 2009-6-12 08:00
脚本素这只
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

#——————————————————————————————————————
# Scene_Credit 制作人员名单
#——————————————————————————————————————


#——使用注意:默认会返回地图,如果需要返回开头,请将本脚本中的
#return_scene = Scene_Map.new改为return_scene = Scene_Title.new

class Scene_Credit
  CREDIT=<<_END_

文本     
      
_END_
end

class Scene_Credit

  def initialize(return_scene = nil)
    @sprite = Sprite.new
    @sprite.bitmap = Bitmap.new("Graphics/Pictures/1")
    @sprite.x = 0
    @sprite.y = 0
    if return_scene.nil?
      return_scene = Scene_Title.new
    end
    @return_scene = return_scene
  end
  
  def scene_start
    credit_lines = CREDIT.split(/\n/)
    credit_bitmap = Bitmap.new(640,32 * credit_lines.size)
    credit_lines.each_index do |i|
      line = credit_lines
      credit_bitmap.draw_text(0,i * 32,640,32,line,1)
    end
    @credit_sprite = Sprite.new(Viewport.new(0,50,640,380))
    @credit_sprite.bitmap = credit_bitmap
    @credit_sprite.oy = -430
    @frame_index = 0
    @last_flag = false
  end

  def scene_end
    @credit_sprite.dispose
    @sprite.dispose
  end
  
  def last?
    return (@frame_index >= @credit_sprite.bitmap.height + 480)
  end
  
  def last
    if not @last_flag
      Audio.bgm_fade(10000)
      @last_flag = true
      @last_count = 0
    else
      @last_count += 1
    end
    if @last_count >= 300
      $scene = @return_scene
    end
  end
  
  def update
    @frame_index += 1
    return if cancel?
    last if last?
    @credit_sprite.oy += 1
  end

  def cancel?
    if Input.trigger?(Input::B)
      $scene = @return_scene
      return true
    end
    return false
  end

  def main
    scene_start
    # 过渡
    Graphics.transition
    # 主循环
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    scene_end
  end
end


#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================





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