Project1

标题: 怎么才能把标题栏里面的选项分开? [打印本页]

作者: 6617613    时间: 2011-3-12 01:12
标题: 怎么才能把标题栏里面的选项分开?
我想把标题栏里面的开始游戏 继续游戏的选项分开  搜大半天找不到 只好求助了 那个大大在  囧rz  快来99我dsu_plus_rewardpost_czw
作者: 魔修    时间: 2011-3-12 02:22
Orz 什么效果的分开?
作者: 6617613    时间: 2011-3-12 02:30
本帖最后由 6617613 于 2011-3-12 02:30 编辑

就是把刚开始时的开始游戏  继续  离开游戏这些选项给拆分开
然后可以随意把这些选项分散到想到的位置
作者: 6617613    时间: 2011-3-12 08:20
一夜过去   :$
作者: 6617613    时间: 2011-3-12 19:57
一天过去    还没人能解决嘛
作者: 铃仙·优昙华院·因幡    时间: 2011-3-12 20:04
本帖最后由 铃仙·优昙华院·因幡 于 2011-3-12 20:17 编辑

求删帖~


作者: 忧雪の伤    时间: 2011-3-12 20:09
6617613 发表于 2011-3-12 19:57
一天过去    还没人能解决嘛

不要紧张……我开始解决你这个问题了……
作者: 6617613    时间: 2011-3-12 20:15
本帖最后由 「旅」 于 2011-3-12 22:33 编辑
内容已被小旅屏蔽
铃仙·优昙华院·因幡 发表于 2011-3-12 20:04





作者: 沙漠点灰    时间: 2011-3-12 20:16
回复 6617613 的帖子
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

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

   谢谢谢谢

作者: 6617613    时间: 2011-3-12 20:26
沙漠点灰 发表于 2011-3-12 20:16
回复 6617613 的帖子

s1填项目

需要把Scene_Title内的脚本全本清理掉 然后复制进你写的这个脚本吗?
作者: 6617613    时间: 2011-3-12 20:31
哦也·· 成功   谢谢沙漠大~~~~~也谢谢所有帮忙的童鞋们~~囧
不过标题栏很丑的说?怎么可以把标题栏边框去掉呢?
作者: 6617613    时间: 2011-3-12 20:34
本帖最后由 6617613 于 2011-3-12 20:35 编辑

额。。不小心回复成自己的了
作者: 6617613    时间: 2011-3-12 20:35
6617613 发表于 2011-3-12 20:26
需要把Scene_Title内的脚本全本清理掉 然后复制进你写的这个脚本吗?

那个。。。我直接把原脚本删除换成你的了。。。。
不过好像没发现BUG?
作者: 忧雪の伤    时间: 2011-3-12 20:35
本帖最后由 忧雪の伤 于 2011-3-12 20:35 编辑
  1. $system = {} if $system == nil
  2. $system["高度间隔"] = 70
  3. $system["新游戏"] = "新游戏"
  4. $system["继续"] = "继续"
  5. $system["退出"] = "退出"

  6. #==============================================================================
  7. # ■ Window_Newgame
  8. #------------------------------------------------------------------------------
  9. #  ……。
  10. #==============================================================================

  11. class Window_Newcommand < Window_Base
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化窗口
  14.   #--------------------------------------------------------------------------
  15.   def initialize(name)
  16.     super(0, 0, 152, 64)
  17.     self.contents = Bitmap.new(width - 32, height - 32)
  18.     self.opacity = 160
  19.     @name = name
  20.     refresh
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 刷新
  24.   #--------------------------------------------------------------------------
  25.   def refresh
  26.     self.contents.clear
  27.     self.contents.draw_text(0, 0, 120, 32, @name, 1)
  28.   end
  29. end


  30. #==============================================================================
  31. # ■ Scene_Title
  32. #------------------------------------------------------------------------------
  33. #  处理标题画面的类。
  34. #==============================================================================

  35. class Scene_Title
  36.   #--------------------------------------------------------------------------
  37.   # ● 住处理
  38.   #--------------------------------------------------------------------------
  39.   def main
  40.     # 战斗测试的情况下
  41.     if $BTEST
  42.       battle_test
  43.       return
  44.     end
  45.     # 载入数据库
  46.     $data_actors        = load_data("Data/Actors.rxdata")
  47.     $data_classes       = load_data("Data/Classes.rxdata")
  48.     $data_skills        = load_data("Data/Skills.rxdata")
  49.     $data_items         = load_data("Data/Items.rxdata")
  50.     $data_weapons       = load_data("Data/Weapons.rxdata")
  51.     $data_armors        = load_data("Data/Armors.rxdata")
  52.     $data_enemies       = load_data("Data/Enemies.rxdata")
  53.     $data_troops        = load_data("Data/Troops.rxdata")
  54.     $data_states        = load_data("Data/States.rxdata")
  55.     $data_animations    = load_data("Data/Animations.rxdata")
  56.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  57.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  58.     $data_system        = load_data("Data/System.rxdata")
  59.     # 生成系统对像
  60.     $game_system = Game_System.new
  61.     # 生成标题图形   
  62.    
  63.     @newgame_window = []
  64.     @newgame_window[0] = Window_Newcommand.new($system["新游戏"])
  65.     @newgame_window[1] = Window_Newcommand.new($system["继续"])
  66.     @newgame_window[2] = Window_Newcommand.new($system["退出"])
  67.    
  68.     for i in 0..2
  69.       @newgame_window[i].x = 320 - @newgame_window[i].width / 2
  70.       @newgame_window[i].y = 288 - $system["高度间隔"]
  71.     end
  72.    
  73.         
  74.     @newgame_window[1].y += $system["高度间隔"]
  75.     @newgame_window[2].y += $system["高度间隔"] * 2
  76.    
  77.     @newgame_window_index = 0
  78.       
  79.     @continue_enabled = false
  80.     for i in 0..3
  81.       if FileTest.exist?("Save#{i+1}.rxdata")
  82.         @continue_enabled = true
  83.       end
  84.     end
  85.    
  86.     if @continue_enabled
  87.       @newgame_window_index = 1
  88.     else
  89.       @newgame_window[1].contents_opacity = 160
  90.     end
  91.     @sprite = Sprite.new
  92.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  93.    

  94.    
  95.     # 演奏标题 BGM
  96.     $game_system.bgm_play($data_system.title_bgm)
  97.     # 停止演奏 ME、BGS
  98.     Audio.me_stop
  99.     Audio.bgs_stop
  100.     # 执行过渡
  101.     Graphics.transition
  102.     # 主循环
  103.     loop do
  104.       # 刷新游戏画面
  105.       Graphics.update
  106.       # 刷新输入信息
  107.       Input.update
  108.       # 刷新画面
  109.       update
  110.       # 如果画面被切换就中断循环
  111.       if $scene != self
  112.         break
  113.       end
  114.     end
  115.     # 装备过渡
  116.     Graphics.freeze
  117.     # 释放标题图形
  118.     @sprite.bitmap.dispose
  119.     @sprite.dispose
  120.    
  121.     for i in 0..2
  122.       @newgame_window[i].dispose
  123.     end
  124.    
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● 刷新画面
  128.   #--------------------------------------------------------------------------
  129.   def update
  130.    
  131.     if Input.trigger?(Input::DOWN)
  132.       if @newgame_window_index > 2
  133.         @newgame_window_index = 0
  134.       else
  135.         @newgame_window_index += 1
  136.       end
  137.     end
  138.    
  139.     if Input.trigger?(Input::UP)
  140.       if @newgame_window_index < 0
  141.         @newgame_window_index = 2
  142.       else
  143.         @newgame_window_index -= 1
  144.       end
  145.     end
  146.    
  147.     case @newgame_window_index
  148.    
  149.     when 0
  150.       @newgame_window[0].opacity = 255
  151.       @newgame_window[1].opacity = 160
  152.       @newgame_window[2].opacity = 160
  153.       
  154.     when 1
  155.       @newgame_window[0].opacity = 160
  156.       @newgame_window[1].opacity = 255
  157.       @newgame_window[2].opacity = 160
  158.       
  159.     when 2
  160.       @newgame_window[0].opacity = 160
  161.       @newgame_window[1].opacity = 160
  162.       @newgame_window[2].opacity = 255
  163.       
  164.     end

  165.     # 按下 C 键的情况下
  166.     if Input.trigger?(Input::C)
  167.       # 命令窗口的光标位置的分支
  168.       case @newgame_window_index # @command_window.index
  169.       when 0  # 新游戏
  170.         command_new_game
  171.       when 1  # 继续
  172.         command_continue
  173.       when 2  # 退出
  174.         command_shutdown
  175.       end
  176.     end
  177.   end

  178. end  
复制代码


55我白做了………………
作者: 6617613    时间: 2011-3-12 20:37
回复 忧雪の伤 的帖子

囧 怎么才能追加点积分给你呢~~我找了半天没发现地方是加分的
作者: 6617613    时间: 2011-3-12 20:44
6617613 发表于 2011-3-12 20:37
回复 忧雪の伤 的帖子

囧 怎么才能追加点积分给你呢~~我找了半天没发现地方是加分的  ...

我去试试




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