Project1

标题: 找个强人修改脚本 [打印本页]

作者: 肖宋发    时间: 2009-8-15 20:27
标题: 找个强人修改脚本
本帖最后由 肖宋发 于 2009-8-16 12:50 编辑

今天使用了下面修改过,要把选项改做图片式的要怎么改啊?强人快来啊!!!
(保持选项的顺序和标题图片随机)谢谢了!
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

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

作者: well    时间: 2009-8-16 06:18
我记得你找“强人”修改过n次的脚本里有图片标题菜单。要保留随机背景把35~37行复制过去即可。
哦,背景占用的是@sprite[0],所以只复制36,37就可以。@sprite.bitmap改成@sprite[0].bitmap
选项顺序在update的case @command_index里面。如果你是说显示效果。还是case @command_index。就是那些sprite透明度变来变去的地方。自己慢慢调吧。
祝你早日搞定标题菜单
作者: 柳飛鷹    时间: 2009-8-16 13:11
1、图片标题
2、随机变量操作
其实用事件就OK了




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