查看: 2206|回复: 3

[已经解决] 标题画面脚本冲突

[复制链接]
梦石
0
星屑
64
在线时间
124 小时
注册时间
2015-1-30
回帖
46
发表于 2015-2-6 00:27:14 | 显示全部楼层 |阅读模式

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

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

×
有没有大神可以帮帮小弟解决一下这随机标题画面脚本和标题菜单美化脚本的冲突问题啊,在此先谢过了。[pre lang="ruby" line="1"]#==============================================================================
# Base on RMXP's Script
# Edited by Mini (gqhondafit)
#----------------------------------------------------------------------------
#此脚本的43-46行中为随机生成标题图形的设置,请根据自己的实际需要进行如下调整:
#┣将 picname = "img" 中引号中的字符改为实际的文件名前缀;
#┣将 picformat = "png" 中引号中的字符改为图片的格式(建议使用png格式);
#┗将 picnumber = 3  中的数字改为实际图片文件的个数。
# 在使用此脚本前请将文件导入Graphics\Titles文件夹,并修改好文件名。
#
# 其它请阅读“关于”文件,并根据实际使用情况进行调整。
#==============================================================================
# ■ Scene_Title
#  处理标题画面的类。
#==============================================================================
class Scene_Title
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
    # 战斗测试的情况下
    if $BTEST
      battle_test
      return
    end
    # 载入数据库
    $data_actors        = load_data("Data/Actors.rxdata")
    $data_classes       = load_data("Data/Classes.rxdata")
    $data_skills        = load_data("Data/Skills.rxdata")
    $data_items         = load_data("Data/Items.rxdata")
    $data_weapons       = load_data("Data/Weapons.rxdata")
    $data_armors        = load_data("Data/Armors.rxdata")
    $data_enemies       = load_data("Data/Enemies.rxdata")
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
    # 生成系统对像
    $game_system = Game_System.new
   
    # 随机生成标题图形
    picname = "title" # 图片文件名前缀
    picformat = "png" # 图片格式
    picnumber = 8 # 图片数量
   
    pic = rand(picnumber)
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title("#{picname}#{pic+1}.#{picformat}")
    # 生成命令窗口
    s1 = "新游戏"
    s2 = "继续"
    s3 = "退出"
    @command_window = Window_Command.new(192, [s1, s2, s3])
    @command_window.back_opacity = 160
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 288
    # 判定继续的有效性
    # 存档文件一个也不存在的时候也调查
    # 有効为 @continue_enabled 为 true、无效为 false
    @continue_enabled = false
    for i in 0..3
      if FileTest.exist?("Save#{i+1}.rxdata")
        @continue_enabled = true
      end
    end
    # 继续为有效的情况下、光标停止在继续上
    # 无效的情况下、继续的文字显示为灰色
    if @continue_enabled
      @command_window.index = 1
    else
      @command_window.disable_item(1)
    end
    # 演奏标题 BGM
    $game_system.bgm_play($data_system.title_bgm)
    # 停止演奏 ME、BGS
    Audio.me_stop
    Audio.bgs_stop
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果画面被切换就中断循环
      if $scene != self
        break
      end
    end
    # 装备过渡
    Graphics.freeze
    # 释放命令窗口
    @command_window.dispose
    # 释放标题图形
    @sprite.bitmap.dispose
    @sprite.dispose
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 刷新命令窗口
    @command_window.update
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 命令窗口的光标位置的分支
      case @command_window.index
      when 0  # 新游戏
        command_new_game
      when 1  # 继续
        command_continue
      when 2  # 退出
        command_shutdown
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 命令 : 新游戏
  #--------------------------------------------------------------------------
  def command_new_game
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 停止 BGM
    Audio.bgm_stop
    # 重置测量游戏时间用的画面计数器
    Graphics.frame_count = 0
    # 生成各种游戏对像
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    # 设置初期同伴位置
    $game_party.setup_starting_members
    # 设置初期位置的地图
    $game_map.setup($data_system.start_map_id)
    # 主角向初期位置移动
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    # 刷新主角
    $game_player.refresh
    # 执行地图设置的 BGM 与 BGS 的自动切换
    $game_map.autoplay
    # 刷新地图 (执行并行事件)
    $game_map.update
    # 切换地图画面
    $scene = Scene_Map.new
  end
  #--------------------------------------------------------------------------
  # ● 命令 : 继续
  #--------------------------------------------------------------------------
  def command_continue
    # 继续无效的情况下
    unless @continue_enabled
      # 演奏无效 SE
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 切换到读档画面
    $scene = Scene_Load.new
  end
  #--------------------------------------------------------------------------
  # ● 命令 : 退出
  #--------------------------------------------------------------------------
  def command_shutdown
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # BGM、BGS、ME 的淡入淡出
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # 退出
    $scene = nil
  end
  #--------------------------------------------------------------------------
  # ● 战斗测试
  #--------------------------------------------------------------------------
  def battle_test
    # 载入数据库 (战斗测试用)
    $data_actors        = load_data("Data/BT_Actors.rxdata")
    $data_classes       = load_data("Data/BT_Classes.rxdata")
    $data_skills        = load_data("Data/BT_Skills.rxdata")
    $data_items         = load_data("Data/BT_Items.rxdata")
    $data_weapons       = load_data("Data/BT_Weapons.rxdata")
    $data_armors        = load_data("Data/BT_Armors.rxdata")
    $data_enemies       = load_data("Data/BT_Enemies.rxdata")
    $data_troops        = load_data("Data/BT_Troops.rxdata")
    $data_states        = load_data("Data/BT_States.rxdata")
    $data_animations    = load_data("Data/BT_Animations.rxdata")
    $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
    $data_system        = load_data("Data/BT_System.rxdata")
    # 重置测量游戏时间用的画面计数器
    Graphics.frame_count = 0
    # 生成各种游戏对像
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    # 设置战斗测试用同伴
    $game_party.setup_battle_test_members
    # 设置队伍 ID、可以逃走标志、战斗背景
    $game_temp.battle_troop_id = $data_system.test_troop_id
    $game_temp.battle_can_escape = true
    $game_map.battleback_name = $data_system.battleback_name
    # 演奏战斗开始 BGM
    $game_system.se_play($data_system.battle_start_se)
    # 演奏战斗 BGM
    $game_system.bgm_play($game_system.battle_bgm)
    # 切换到战斗画面
    $scene = Scene_Battle.new
  end
end[/pre]




和下面这个




[pre lang="ruby" line="1"]#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

#==============================================================================
# Scene_Title
#==============================================================================
class Scene_Title
  def main
    if $BTEST
      battle_test
      return
    end
    $data_actors = load_data("Data/Actors.rxdata")
    $data_classes = load_data("Data/Classes.rxdata")
    $data_skills = load_data("Data/Skills.rxdata")
    $data_items = load_data("Data/Items.rxdata")
    $data_weapons = load_data("Data/Weapons.rxdata")
    $data_armors = load_data("Data/Armors.rxdata")
    $data_enemies = load_data("Data/Enemies.rxdata")
    $data_troops = load_data("Data/Troops.rxdata")
    $data_states = load_data("Data/States.rxdata")
    $data_animations = load_data("Data/Animations.rxdata")
    $data_tilesets = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system = load_data("Data/System.rxdata")
    $game_system = Game_System.new
    # 生成标题图形
    @sprite = [Sprite.new]
    for i in 0..6
      @sprite = Sprite.new
      @sprite.opacity = 0
    end
    @sprite[0].bitmap = RPG::Cache.title($data_system.title_name)
    @sprite[0].opacity = 0
    #开始游戏的图片
    @sprite[1].bitmap = Bitmap.new("Graphics/Pictures/start-1.png")
    @sprite[2].bitmap = Bitmap.new("Graphics/Pictures/start-2.png")
    #继续游戏的图片
    @sprite[3].bitmap = Bitmap.new("Graphics/Pictures/continue-1.png")
    @sprite[4].bitmap = Bitmap.new("Graphics/Pictures/continue-2.png")
    #结束游戏的图片
    @sprite[5].bitmap = Bitmap.new("Graphics/Pictures/exit-1.png")
    @sprite[6].bitmap = Bitmap.new("Graphics/Pictures/exit-2.png")
    #图片位置
    for i in 1..6
      case i
           
         when 1
           x=210
           y=318
           @sprite.x =x
           @sprite.y =y
         when 2
            x=210
            y=318
            @sprite.x =x
            @sprite.y =y
      
         when 3
            x=210
            y=372
            @sprite.x =x
            @sprite.y =y
            
         when 4
            x=210
            y=372
            @sprite.x =x
            @sprite.y =y   
         when 5
            x=210
            y=426
            @sprite.x =x
            @sprite.y =y   
              
         when 6
            x=210
            y=426
            @sprite.x =x
            @sprite.y =y   
       end     
           
           
      
    end
    @continue_enabled = false
    for i in 0..3
      if FileTest.exist?("Save#{i+1}.rxdata")
        @continue_enabled = true
      end
    end
    if @continue_enabled
      @command_index = 1
    else
      @command_index = 0
      @sprite[3].tone = Tone.new(0, 0, 0, 255)
      @sprite[4].tone = Tone.new(0, 0, 0, 255)
    end
    $game_system.bgm_play($data_system.title_bgm)
    Audio.me_stop
    Audio.bgs_stop
    Graphics.transition
    loop do
      Graphics.update
      #淡出背景图形
      if @sprite[0].opacity <= 255
        @sprite[0].opacity += 15
      end
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    # 释放图形
    for i in 0..6
      @sprite.bitmap.dispose
      @sprite.dispose
    end
  end
  def update
  chaochaocommandchaochao
  if Input.trigger?(Input::C)
    case @command_index
      when 0
        command_new_game
      when 1
        command_continue
      when 2
        command_shutdown
      end
    end
  end
  def chaochaocommandchaochao
    if Input.trigger?(Input::UP)
      @command_index -= 1
      if @command_index < 0
        @command_index = 2
      end
      $game_system.se_play($data_system.cursor_se)
    end
    if Input.trigger?(Input::DOWN)
      @command_index += 1
      if @command_index > 2
        @command_index = 0
      end
      $game_system.se_play($data_system.cursor_se)
    end
    case @command_index
    when 0
      if @sprite[1].opacity >= 0
        @sprite[1].opacity -= 30
      end
      if @sprite[2].opacity <= 240
        @sprite[2].opacity += 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity <= 210
        @sprite[5].opacity += 30
      end
      if @sprite[6].opacity >= 0
        @sprite[6].opacity -= 30
      end
    when 1
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity >= 0
        @sprite[3].opacity -= 30
      end
      if @sprite[4].opacity <= 240
        @sprite[4].opacity += 30
      end
      if @sprite[5].opacity <= 210
        @sprite[5].opacity += 30
      end
      if @sprite[6].opacity >= 0
        @sprite[6].opacity -= 30
      end
    when 2
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity >= 0
        @sprite[5].opacity -= 30
      end
      if @sprite[6].opacity <= 240
        @sprite[6].opacity += 30
      end
    end
  end
end[/pre]
梦石
0
星屑
50
在线时间
320 小时
注册时间
2014-9-2
回帖
244
发表于 2015-2-6 10:55:53 | 显示全部楼层
这样试试
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================

  4. #==============================================================================
  5. # Scene_Title
  6. #==============================================================================
  7. class Scene_Title
  8.   def main
  9.     if $BTEST
  10.       battle_test
  11.       return
  12.     end
  13.     $data_actors = load_data("Data/Actors.rxdata")
  14.     $data_classes = load_data("Data/Classes.rxdata")
  15.     $data_skills = load_data("Data/Skills.rxdata")
  16.     $data_items = load_data("Data/Items.rxdata")
  17.     $data_weapons = load_data("Data/Weapons.rxdata")
  18.     $data_armors = load_data("Data/Armors.rxdata")
  19.     $data_enemies = load_data("Data/Enemies.rxdata")
  20.     $data_troops = load_data("Data/Troops.rxdata")
  21.     $data_states = load_data("Data/States.rxdata")
  22.     $data_animations = load_data("Data/Animations.rxdata")
  23.     $data_tilesets = load_data("Data/Tilesets.rxdata")
  24.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  25.     $data_system = load_data("Data/System.rxdata")
  26.     $game_system = Game_System.new

  27.     # 随机生成标题图形
  28.     picname = "title" # 图片文件名前缀
  29.     picformat = "png" # 图片格式
  30.     picnumber = 8 # 图片数量
  31.     pic = rand(picnumber)
  32.     @sprite = Sprite.new

  33.     # 生成标题图形
  34.     @sprite = [Sprite.new]
  35.     for i in 0..6
  36.       @sprite[i] = Sprite.new
  37.       @sprite[i].opacity = 0
  38.     end
  39.     @sprite[0].bitmap =  RPG::Cache.title("#{picname}#{pic+1}.#{picformat}")
  40.     @sprite[0].opacity = 0
  41.     #开始游戏的图片
  42.     @sprite[1].bitmap = Bitmap.new("Graphics/Pictures/start-1.png")
  43.     @sprite[2].bitmap = Bitmap.new("Graphics/Pictures/start-2.png")
  44.     #继续游戏的图片
  45.     @sprite[3].bitmap = Bitmap.new("Graphics/Pictures/continue-1.png")
  46.     @sprite[4].bitmap = Bitmap.new("Graphics/Pictures/continue-2.png")
  47.     #结束游戏的图片
  48.     @sprite[5].bitmap = Bitmap.new("Graphics/Pictures/exit-1.png")
  49.     @sprite[6].bitmap = Bitmap.new("Graphics/Pictures/exit-2.png")
  50.     #图片位置
  51.     for i in 1..6
  52.       case i

  53.          when 1
  54.            x=210
  55.            y=318
  56.            @sprite[i].x =x
  57.            @sprite[i].y =y
  58.          when 2
  59.             x=210
  60.             y=318
  61.             @sprite[i].x =x
  62.             @sprite[i].y =y

  63.          when 3
  64.             x=210
  65.             y=372
  66.             @sprite[i].x =x
  67.             @sprite[i].y =y

  68.          when 4
  69.             x=210
  70.             y=372
  71.             @sprite[i].x =x
  72.             @sprite[i].y =y   
  73.          when 5
  74.             x=210
  75.             y=426
  76.             @sprite[i].x =x
  77.             @sprite[i].y =y   

  78.          when 6
  79.             x=210
  80.             y=426
  81.             @sprite[i].x =x
  82.             @sprite[i].y =y   
  83.        end     



  84.     end
  85.     @continue_enabled = false
  86.     for i in 0..3
  87.       if FileTest.exist?("Save#{i+1}.rxdata")
  88.         @continue_enabled = true
  89.       end
  90.     end
  91.     if @continue_enabled
  92.       @command_index = 1
  93.     else
  94.       @command_index = 0
  95.       @sprite[3].tone = Tone.new(0, 0, 0, 255)
  96.       @sprite[4].tone = Tone.new(0, 0, 0, 255)
  97.     end
  98.     $game_system.bgm_play($data_system.title_bgm)
  99.     Audio.me_stop
  100.     Audio.bgs_stop
  101.     Graphics.transition
  102.     loop do
  103.       Graphics.update
  104.       #淡出背景图形
  105.       if @sprite[0].opacity <= 255
  106.         @sprite[0].opacity += 15
  107.       end
  108.       Input.update
  109.       update
  110.       if $scene != self
  111.         break
  112.       end
  113.     end
  114.     Graphics.freeze
  115.     # 释放图形
  116.     for i in 0..6
  117.       @sprite[i].bitmap.dispose
  118.       @sprite[i].dispose
  119.     end
  120.   end
  121.   def update
  122.   chaochaocommandchaochao
  123.   if Input.trigger?(Input::C)
  124.     case @command_index
  125.       when 0
  126.         command_new_game
  127.       when 1
  128.         command_continue
  129.       when 2
  130.         command_shutdown
  131.       end
  132.     end
  133.   end
  134.   def chaochaocommandchaochao
  135.     if Input.trigger?(Input::UP)
  136.       @command_index -= 1
  137.       if @command_index < 0
  138.         @command_index = 2
  139.       end
  140.       $game_system.se_play($data_system.cursor_se)
  141.     end
  142.     if Input.trigger?(Input::DOWN)
  143.       @command_index += 1
  144.       if @command_index > 2
  145.         @command_index = 0
  146.       end
  147.       $game_system.se_play($data_system.cursor_se)
  148.     end
  149.     case @command_index
  150.     when 0
  151.       if @sprite[1].opacity >= 0
  152.         @sprite[1].opacity -= 30
  153.       end
  154.       if @sprite[2].opacity <= 240
  155.         @sprite[2].opacity += 30
  156.       end
  157.       if @sprite[3].opacity <= 210
  158.         @sprite[3].opacity += 30
  159.       end
  160.       if @sprite[4].opacity >= 0
  161.         @sprite[4].opacity -= 30
  162.       end
  163.       if @sprite[5].opacity <= 210
  164.         @sprite[5].opacity += 30
  165.       end
  166.       if @sprite[6].opacity >= 0
  167.         @sprite[6].opacity -= 30
  168.       end
  169.     when 1
  170.       if @sprite[1].opacity <= 210
  171.         @sprite[1].opacity += 30
  172.       end
  173.       if @sprite[2].opacity >= 0
  174.         @sprite[2].opacity -= 30
  175.       end
  176.       if @sprite[3].opacity >= 0
  177.         @sprite[3].opacity -= 30
  178.       end
  179.       if @sprite[4].opacity <= 240
  180.         @sprite[4].opacity += 30
  181.       end
  182.       if @sprite[5].opacity <= 210
  183.         @sprite[5].opacity += 30
  184.       end
  185.       if @sprite[6].opacity >= 0
  186.         @sprite[6].opacity -= 30
  187.       end
  188.     when 2
  189.       if @sprite[1].opacity <= 210
  190.         @sprite[1].opacity += 30
  191.       end
  192.       if @sprite[2].opacity >= 0
  193.         @sprite[2].opacity -= 30
  194.       end
  195.       if @sprite[3].opacity <= 210
  196.         @sprite[3].opacity += 30
  197.       end
  198.       if @sprite[4].opacity >= 0
  199.         @sprite[4].opacity -= 30
  200.       end
  201.       if @sprite[5].opacity >= 0
  202.         @sprite[5].opacity -= 30
  203.       end
  204.       if @sprite[6].opacity <= 240
  205.         @sprite[6].opacity += 30
  206.       end
  207.     end
  208.   end
  209. end
复制代码
回复

使用道具 举报

梦石
0
星屑
64
在线时间
124 小时
注册时间
2015-1-30
回帖
46
 楼主| 发表于 2015-2-6 11:46:10 | 显示全部楼层
蝉岭Cicada 发表于 2015-2-6 10:55
这样试试

还是不行啊 它提示这个
QQ图片20150206114318.png
回复

使用道具 举报

梦石
0
星屑
64
在线时间
124 小时
注册时间
2015-1-30
回帖
46
 楼主| 发表于 2015-2-6 12:04:21 | 显示全部楼层
蝉岭Cicada 发表于 2015-2-6 10:55
这样试试

上面那个问题我已自行解决了 非常感谢你
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部