Project1

标题: 嗯……关于Sence Title [打印本页]

作者: 神龙出世    时间: 2009-9-19 07:24
标题: 嗯……关于Sence Title
话说,我用事件做了一个“Press Enter To Start”的标题,仿 沉默的纸飞机。问题在于,我还是需要用到Title的,现用了 沉默的纸飞机 里面的Title脚本,就是可以先到 设置主角位置 的地图,所以我要用的话,Title还要改,就是在 新游戏 命令 那里……场所移动到指定地点怎么办?
  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.     # 判定继续的有效性
  33.     # 存档文件一个也不存在的时候也调查
  34.     # 有効为 @continue_enabled 为 true、無効为 false
  35.     $continue_enabled = false
  36.     for i in 0..3
  37.       if FileTest.exist?("Save#{i+1}.rxdata")
  38.         $continue_enabled = true
  39.       end
  40.     end
  41.     # 停止演奏 ME、BGS
  42.     Audio.me_stop
  43.     Audio.bgs_stop
  44.     # 执行过渡
  45.     Graphics.transition
  46.     # 主循环
  47.     loop do
  48.       # 刷新游戏画面
  49.       Graphics.update
  50.       # 刷新输入信息
  51.       Input.update
  52.       # 刷新画面
  53.       update
  54.       # 如果画面被切换就中断循环
  55.       if $scene != self
  56.         break
  57.       end
  58.     end
  59.     # 装备过渡
  60.     Graphics.freeze
  61.   end
  62. #--------------------------------------------------------------------------
  63. # ● 刷新画面
  64. #--------------------------------------------------------------------------

  65. def update
  66. command_new_game
  67. end
  68.   #--------------------------------------------------------------------------
  69.   # ● 命令 : 新游戏
  70.   #--------------------------------------------------------------------------
  71.   def command_new_game
  72.     # 停止 BGM
  73.     Audio.bgm_stop
  74.     # 重置测量游戏时间用的画面计数器
  75.     Graphics.frame_count = 0
  76.     # 生成各种游戏对像
  77.     $game_temp          = Game_Temp.new
  78.     $game_system        = Game_System.new
  79.     $game_switches      = Game_Switches.new
  80.     $game_variables     = Game_Variables.new
  81.     $game_self_switches = Game_SelfSwitches.new
  82.     $game_screen        = Game_Screen.new
  83.     $game_actors        = Game_Actors.new
  84.     $game_party         = Game_Party.new
  85.     $game_troop         = Game_Troop.new
  86.     $game_map           = Game_Map.new
  87.     $game_player        = Game_Player.new
  88.     # 设置初期同伴位置
  89.     $game_party.setup_starting_members
  90.     # 设置初期位置的地图
  91.     $game_map.setup($data_system.start_map_id)
  92.     # 主角向初期位置移动
  93.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  94.     # 刷新主角
  95.     $game_player.refresh
  96.     # 执行地图设置的 BGM 与 BGS 的自动切换
  97.     $game_map.autoplay
  98.     # 刷新地图 (执行并行事件)
  99.     $game_map.update
  100.     # 切换地图画面
  101.     $scene = Scene_Map.new
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 命令 : 继续
  105.   #--------------------------------------------------------------------------
  106.   def command_continue
  107.     # 继续无效的情况下
  108.     unless $continue_enabled
  109.       # 演奏无效 SE
  110.       $game_system.se_play($data_system.buzzer_se)
  111.       return
  112.     end
  113.     # 演奏确定 SE
  114.     $game_system.se_play($data_system.decision_se)
  115.     # 切换到读档画面
  116.     $scene = Scene_Load.new
  117.   end
  118.   #--------------------------------------------------------------------------
  119.   # ● 命令 : 退出
  120.   #--------------------------------------------------------------------------
  121.   def command_shutdown
  122.     # 演奏确定 SE
  123.     $game_system.se_play($data_system.decision_se)
  124.     # BGM、BGS、ME 的淡入淡出
  125.     Audio.bgm_fade(800)
  126.     Audio.bgs_fade(800)
  127.     Audio.me_fade(800)
  128.     # 退出
  129.     $scene = nil
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● 战斗测试
  133.   #--------------------------------------------------------------------------
  134.   def battle_test
  135.     # 载入数据库 (战斗测试用)
  136.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  137.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  138.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  139.     $data_items         = load_data("Data/BT_Items.rxdata")
  140.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  141.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  142.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  143.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  144.     $data_states        = load_data("Data/BT_States.rxdata")
  145.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  146.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  147.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  148.     $data_system        = load_data("Data/BT_System.rxdata")
  149.     # 重置测量游戏时间用的画面计数器
  150.     Graphics.frame_count = 0
  151.     # 生成各种游戏对像
  152.     $game_temp          = Game_Temp.new
  153.     $game_system        = Game_System.new
  154.     $game_switches      = Game_Switches.new
  155.     $game_variables     = Game_Variables.new
  156.     $game_self_switches = Game_SelfSwitches.new
  157.     $game_screen        = Game_Screen.new
  158.     $game_actors        = Game_Actors.new
  159.     $game_party         = Game_Party.new
  160.     $game_troop         = Game_Troop.new
  161.     $game_map           = Game_Map.new
  162.     $game_player        = Game_Player.new
  163.     # 设置战斗测试用同伴
  164.     $game_party.setup_battle_test_members
  165.     # 设置队伍 ID、可以逃走标志、战斗背景
  166.     $game_temp.battle_troop_id = $data_system.test_troop_id
  167.     $game_temp.battle_can_escape = true
  168.     $game_map.battleback_name = $data_system.battleback_name
  169.     # 演奏战斗开始 BGM
  170.     $game_system.se_play($data_system.battle_start_se)
  171.     # 演奏战斗 BGM
  172.     $game_system.bgm_play($game_system.battle_bgm)
  173.     # 切换到战斗画面
  174.     $scene = Scene_Battle.new
  175.   end
  176. end
复制代码

作者: Eienshinken    时间: 2009-9-19 07:48
不太明白...
先是按任意键开始.
按完以后呢?画面转侄哪?
作者: 神龙出世    时间: 2009-9-19 07:52
我准备做一个rpg,这是讲述一个主角遨游在游戏世界中的,所以先开始之后,场所移动到主角家里,然后又有事件,把主角要传送到游戏世界,这里需要用到Title。
作者: 霜冻之狼    时间: 2009-9-19 07:55
这行已经很明显了……
# 设置初期同伴位置
    $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

作者: 柳飛鷹    时间: 2009-9-19 07:56
问题是?
用到TITLE的的话就生成  $scene = Scene_Title.new 啊
  1.     # 设置初期同伴位置

  2.     $game_party.setup_starting_members

  3.     # 设置初期位置的地图

  4.     $game_map.setup($data_system.start_map_id)

  5.     # 主角向初期位置移动

  6.     $game_player.moveto($data_system.start_x, $data_system.start_y)

  7.     # 刷新主角

  8.     $game_player.refresh

  9.     # 执行地图设置的 BGM 与 BGS 的自动切换

  10.     $game_map.autoplay

  11.     # 刷新地图 (执行并行事件)

  12.     $game_map.update

  13.     # 切换地图画面

  14.     $scene = Scene_Map.new

  15.   end
复制代码
标题新游戏后出来的地方可以在这里自己修改
作者: Eienshinken    时间: 2009-9-19 07:58
把默认的Scene_Title 重新命名
比如 class Scene_Title2

然后在● 命令 : 新游戏这个方法里有几话 需要改一下
    # 设置初期位置的地图
    $game_map.setup(地图ID)
    # 主角向初期位置移动
    $game_player.moveto(地图X坐标, 地图Y坐标)

改这些是因为让主角移动至你定位的地点.
X Y坐标就看绘制地图里自己算啦
作者: 霜冻之狼    时间: 2009-9-19 08:00
二周目脚本 或者像楼上那样造一个title2
作者: Eienshinken    时间: 2009-9-19 08:02
对了  记得在你要切换到场景 TITLE选择时
用脚本调用
$scene = Scene_Title2.new
作者: 柳飛鷹    时间: 2009-9-19 08:03
2个Title啊
终于明白了
作者: 神龙出世    时间: 2009-9-19 08:07
话说……例如……到3号地图x=3,y=3,那么应该……呃……
作者: 霜冻之狼    时间: 2009-9-19 08:08
本帖最后由 霜冻之狼 于 2009-9-19 08:10 编辑
话说……例如……到3号地图x=3,y=3,那么应该……呃……
神龙出世 发表于 2009-9-19 08:07

-  -你不会连代入都不会吧

# 设置初期位置的地图
$game_map.setup(地图ID)
# 主角向初期位置移动
$game_player.moveto(地图X坐标, 地图Y坐标)

改成

# 向4号地图移动
$game_map.setup(4)
# 向X坐标为6和Y坐标为2的位置移动
$game_player.moveto(6, 2)
作者: Eienshinken    时间: 2009-9-19 08:08
那么就是

  $game_map.setup(3)
   $game_player.moveto(3, 3)
作者: 神龙出世    时间: 2009-9-19 08:17
可是……我这样一变^忽然发现我原来可以初期“Press Enter To Start”的地图没了,直接变成我设置好的了……
作者: Eienshinken    时间: 2009-9-19 08:21
本帖最后由 Eienshinken 于 2009-9-19 08:22 编辑

2个title啊...
复制一个默认的。 ..你那个你不要改 0 0
把默认的类名 改为 Scene_Title2

..修改的东西都在TITLE2里改..
你原本的跳过标题的TITLE不要动他就好
作者: 神龙出世    时间: 2009-9-19 08:29
不行啊……
修改的放前面,Press Enter……是对了,但是再次回到标题画面时,又回到那个Press Enter……的地图了,反一反,则直接到设置的地图去了……
作者: Eienshinken    时间: 2009-9-19 08:36
= = !
你看看是不是这个效果先. 不明白你是要这种效果吗...
我懒 没加片头 直接进地图吧 Project1.rar (204.68 KB, 下载次数: 29)
作者: 神龙出世    时间: 2009-9-19 10:36
嗯,很好……~!!帮你加分,外加认可~!




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