Project1

标题: 如何在{开始游戏 继续游戏。。。。}中再加上{官方网站} [打印本页]

作者: zk199811    时间: 2011-2-3 00:43
标题: 如何在{开始游戏 继续游戏。。。。}中再加上{官方网站}
就是把

变成

我的东西,帮我改改
http://u.115.com/file/f82ed42a19


zk199811于2011-2-3 00:45补充以下内容:
唉呀妈呀
图没放上来
明天放
作者: 帅气的袋鼠    时间: 2011-2-3 02:50
挺古老的教程...
http://rpg.blue/web/htm/news912.htm
作者: 水野·迪尔    时间: 2011-2-3 21:40
共享到期什么的最讨厌了。
直接提供方法,一步一步改吧:
1.在脚本列表找到Scene_Title,在39行下加上 s4 = "官方网站"
2.接着,在下面的一行脚本上改成@command_window = Window_Command.new(192, [s1, s2, s3, s4])
3.这样,窗口就完成了,如果要对 官方网站 这一项做出动作,请在104行之下打上 when 3 #官方网站  然后再在下面一行打上需要执行的命令就可以了。(怎么设置打开网站不属于问题范围了  =v=)
作者: zk199811    时间: 2011-2-3 21:58
干脆把脚本发上来,帮我改改、

#==============================================================================
# ■ 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
    # 进入事件显示LOGO,如果您不想在调试时总是显示LOGO就加上下一行中注释部分
    if $show_logo # and !$DEBUG
      # 设置标记变量保证下次回到标题画面不会再显示片头
      $show_logo = false
      # 重置测量游戏时间用的画面计数器
      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
      # 与真正的新游戏唯一不同就是将变量1设置一个标记值(暂用8764)
      $game_variables[1]=8764
      # 主角暂时是不能显示出来的……
      $game_player.transparent = true
      # 切换地图画面
      $scene = Scene_Map.new
    # 否则是默认显示标题画面
    else
      # 生成标题图形
      @sprite = Sprite.new
      @sprite.bitmap = RPG::Cache.title($data_system.title_name)
      # 生成命令窗口
      s1 = "     新的游戏"
      s2 = "     读取记录"
      s3 = "     退出游戏"
      @command_window = Window_Command.new(192, [s1, s2, s3])
      @command_window.back_opacity = 160
      @command_window.x = 20 - @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
  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



作者: 水野·迪尔    时间: 2011-2-4 00:45
本帖最后由 水野·迪尔 于 2011-2-4 00:45 编辑

窗口已经帮你改好了,剩下的你要看2L的范例工程去144行添加了
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

  6. class Scene_Title
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10.   def main
  11.     # 战斗测试的情况下
  12.     if $BTEST
  13.       battle_test
  14.       return
  15.     end
  16.     # 载入数据库
  17.     $data_actors        = load_data("Data/Actors.rxdata")
  18.     $data_classes       = load_data("Data/Classes.rxdata")
  19.     $data_skills        = load_data("Data/Skills.rxdata")
  20.     $data_items         = load_data("Data/Items.rxdata")
  21.     $data_weapons       = load_data("Data/Weapons.rxdata")
  22.     $data_armors        = load_data("Data/Armors.rxdata")
  23.     $data_enemies       = load_data("Data/Enemies.rxdata")
  24.     $data_troops        = load_data("Data/Troops.rxdata")
  25.     $data_states        = load_data("Data/States.rxdata")
  26.     $data_animations    = load_data("Data/Animations.rxdata")
  27.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  28.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  29.     $data_system        = load_data("Data/System.rxdata")
  30.     # 生成系统对像
  31.     $game_system = Game_System.new
  32.     # 进入事件显示LOGO,如果您不想在调试时总是显示LOGO就加上下一行中注释部分
  33.     if $show_logo # and !$DEBUG
  34.       # 设置标记变量保证下次回到标题画面不会再显示片头
  35.       $show_logo = false
  36.       # 重置测量游戏时间用的画面计数器
  37.       Graphics.frame_count = 0
  38.       # 生成各种游戏对像
  39.       $game_temp          = Game_Temp.new
  40.       $game_system        = Game_System.new
  41.       $game_switches      = Game_Switches.new
  42.       $game_variables     = Game_Variables.new
  43.       $game_self_switches = Game_SelfSwitches.new
  44.       $game_screen        = Game_Screen.new
  45.       $game_actors        = Game_Actors.new
  46.       $game_party         = Game_Party.new
  47.       $game_troop         = Game_Troop.new
  48.       $game_map           = Game_Map.new
  49.       $game_player        = Game_Player.new
  50.       # 设置初期同伴位置
  51.       $game_party.setup_starting_members
  52.       # 设置初期位置的地图
  53.       $game_map.setup($data_system.start_map_id)
  54.       # 主角向初期位置移动
  55.       $game_player.moveto($data_system.start_x, $data_system.start_y)
  56.       # 刷新主角
  57.       $game_player.refresh
  58.       # 执行地图设置的 BGM 与 BGS 的自动切换
  59.       $game_map.autoplay
  60.       # 刷新地图 (执行并行事件)
  61.       $game_map.update
  62.       # 与真正的新游戏唯一不同就是将变量1设置一个标记值(暂用8764)
  63.       $game_variables[1]=8764
  64.       # 主角暂时是不能显示出来的……
  65.       $game_player.transparent = true
  66.       # 切换地图画面
  67.       $scene = Scene_Map.new
  68.     # 否则是默认显示标题画面
  69.     else
  70.       # 生成标题图形
  71.       @sprite = Sprite.new
  72.       @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  73.       # 生成命令窗口
  74.       s1 = "新的游戏"
  75.       s2 = "读取记录"
  76.       s3 = "退出游戏"
  77.       s4 = "官方网站"
  78.       @command_window = Window_Command.new(192, [s1, s2, s3, s4])
  79.       @command_window.back_opacity = 160
  80.       @command_window.x = 20 - @command_window.width / 2
  81.       @command_window.y = 288
  82.       # 判定继续的有效性
  83.       # 存档文件一个也不存在的时候也调查
  84.       # 有効为 @continue_enabled 为 true、無効为 false
  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.       # 继续为有效的情况下、光标停止在继续上
  92.       # 无效的情况下、继续的文字显示为灰色
  93.       if @continue_enabled
  94.         @command_window.index = 1
  95.       else
  96.         @command_window.disable_item(1)
  97.       end
  98.       # 演奏标题 BGM
  99.       $game_system.bgm_play($data_system.title_bgm)
  100.       # 停止演奏 ME、BGS
  101.       Audio.me_stop
  102.       Audio.bgs_stop
  103.       # 执行过渡
  104.       Graphics.transition
  105.       # 主循环
  106.       loop do
  107.         # 刷新游戏画面
  108.         Graphics.update
  109.         # 刷新输入信息
  110.         Input.update
  111.         # 刷新画面
  112.         update
  113.         # 如果画面被切换就中断循环
  114.         if $scene != self
  115.           break
  116.         end
  117.       end
  118.       # 装备过渡
  119.       Graphics.freeze
  120.       # 释放命令窗口
  121.       @command_window.dispose
  122.       # 释放标题图形
  123.       @sprite.bitmap.dispose
  124.       @sprite.dispose
  125.     end
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ● 刷新画面
  129.   #--------------------------------------------------------------------------
  130.   def update
  131.     # 刷新命令窗口
  132.     @command_window.update
  133.     # 按下 C 键的情况下
  134.     if Input.trigger?(Input::C)
  135.       # 命令窗口的光标位置的分支
  136.       case @command_window.index
  137.       when 0  # 新游戏
  138.         command_new_game
  139.       when 1  # 继续
  140.         command_continue
  141.       when 2  # 退出
  142.         command_shutdown
  143.       end
  144.     end
  145.   end
  146.   #--------------------------------------------------------------------------
  147.   # ● 命令 : 新游戏
  148.   #--------------------------------------------------------------------------
  149.   def command_new_game
  150.     # 演奏确定 SE
  151.     $game_system.se_play($data_system.decision_se)
  152.     # 停止 BGM
  153.     Audio.bgm_stop
  154.     # 重置测量游戏时间用的画面计数器
  155.     Graphics.frame_count = 0
  156.     # 生成各种游戏对像
  157.     $game_temp          = Game_Temp.new
  158.     $game_system        = Game_System.new
  159.     $game_switches      = Game_Switches.new
  160.     $game_variables     = Game_Variables.new
  161.     $game_self_switches = Game_SelfSwitches.new
  162.     $game_screen        = Game_Screen.new
  163.     $game_actors        = Game_Actors.new
  164.     $game_party         = Game_Party.new
  165.     $game_troop         = Game_Troop.new
  166.     $game_map           = Game_Map.new
  167.     $game_player        = Game_Player.new
  168.     # 设置初期同伴位置
  169.     $game_party.setup_starting_members
  170.     # 设置初期位置的地图
  171.     $game_map.setup($data_system.start_map_id)
  172.     # 主角向初期位置移动
  173.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  174.     # 刷新主角
  175.     $game_player.refresh
  176.     # 执行地图设置的 BGM 与 BGS 的自动切换
  177.     $game_map.autoplay
  178.     # 刷新地图 (执行并行事件)
  179.     $game_map.update
  180.     # 切换地图画面
  181.     $scene = Scene_Map.new
  182.   end
  183.   #--------------------------------------------------------------------------
  184.   # ● 命令 : 继续
  185.   #--------------------------------------------------------------------------
  186.   def command_continue
  187.     # 继续无效的情况下
  188.     unless @continue_enabled
  189.       # 演奏无效 SE
  190.       $game_system.se_play($data_system.buzzer_se)
  191.       return
  192.     end
  193.     # 演奏确定 SE
  194.     $game_system.se_play($data_system.decision_se)
  195.     # 切换到读档画面
  196.     $scene = Scene_Load.new
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # ● 命令 : 退出
  200.   #--------------------------------------------------------------------------
  201.   def command_shutdown
  202.     # 演奏确定 SE
  203.     $game_system.se_play($data_system.decision_se)
  204.     # BGM、BGS、ME 的淡入淡出
  205.     Audio.bgm_fade(800)
  206.     Audio.bgs_fade(800)
  207.     Audio.me_fade(800)
  208.     # 退出
  209.     $scene = nil
  210.   end
  211.   #--------------------------------------------------------------------------
  212.   # ● 战斗测试
  213.   #--------------------------------------------------------------------------
  214.   def battle_test
  215.     # 载入数据库 (战斗测试用)
  216.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  217.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  218.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  219.     $data_items         = load_data("Data/BT_Items.rxdata")
  220.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  221.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  222.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  223.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  224.     $data_states        = load_data("Data/BT_States.rxdata")
  225.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  226.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  227.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  228.     $data_system        = load_data("Data/BT_System.rxdata")
  229.     # 重置测量游戏时间用的画面计数器
  230.     Graphics.frame_count = 0
  231.     # 生成各种游戏对像
  232.     $game_temp          = Game_Temp.new
  233.     $game_system        = Game_System.new
  234.     $game_switches      = Game_Switches.new
  235.     $game_variables     = Game_Variables.new
  236.     $game_self_switches = Game_SelfSwitches.new
  237.     $game_screen        = Game_Screen.new
  238.     $game_actors        = Game_Actors.new
  239.     $game_party         = Game_Party.new
  240.     $game_troop         = Game_Troop.new
  241.     $game_map           = Game_Map.new
  242.     $game_player        = Game_Player.new
  243.     # 设置战斗测试用同伴
  244.     $game_party.setup_battle_test_members
  245.     # 设置队伍 ID、可以逃走标志、战斗背景
  246.     $game_temp.battle_troop_id = $data_system.test_troop_id
  247.     $game_temp.battle_can_escape = true
  248.     $game_map.battleback_name = $data_system.battleback_name
  249.     # 演奏战斗开始 BGM
  250.     $game_system.se_play($data_system.battle_start_se)
  251.     # 演奏战斗 BGM
  252.     $game_system.bgm_play($game_system.battle_bgm)
  253.     # 切换到战斗画面
  254.     $scene = Scene_Battle.new
  255.   end
  256. end
复制代码

作者: 萌萌发    时间: 2011-2-4 14:05
提示: 作者被禁止或删除 内容自动屏蔽




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