设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3711|回复: 9
打印 上一主题 下一主题

游戏事件播放开场动画再到标题界面

 关闭 [复制链接]

Lv1.梦旅人

SADAHARU·I

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-1-17
帖子
1307
跳转到指定楼层
1
发表于 2007-7-8 20:59:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
是这样的,我想游戏一开始先到一个地图界面,再采用事件的方式来做开场动画。完了再用一个脚本,切换到正常的标题界面。这个是我目前所能达到的最高水平。
以下为正文:
先把Scene_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.     @sprite = Sprite.new
  34.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  35.     # 生成命令窗口
  36.     s1 = "0"
  37.     # 生成命令窗口
  38.     @command_window = Window_Command.new(40, [s1])
  39.     @command_window.back_opacity = 30
  40.     @command_window.x = -88 - @command_window.width / 2
  41.     @command_window.y = -888
  42.     # 停止演奏 ME、BGS、BGM
  43.     Audio.bgm_stop
  44.     Audio.me_stop
  45.     Audio.bgs_stop
  46.     # 执行过渡
  47.     Graphics.transition
  48.     # 装备过渡
  49.     Graphics.freeze
  50.     # 释放标题图形
  51.     @sprite.bitmap.dispose
  52.     @sprite.dispose
  53.     # 重置测量游戏时间用的画面计数器
  54.     Graphics.frame_count = 0
  55.     # 生成各种游戏对像
  56.     $game_temp          = Game_Temp.new
  57.     $game_system        = Game_System.new
  58.     $game_switches      = Game_Switches.new
  59.     $game_variables     = Game_Variables.new
  60.     $game_self_switches = Game_SelfSwitches.new
  61.     $game_screen        = Game_Screen.new
  62.     $game_actors        = Game_Actors.new
  63.     $game_party         = Game_Party.new
  64.     $game_troop         = Game_Troop.new
  65.     $game_map           = Game_Map.new
  66.     $game_player        = Game_Player.new
  67.     # 设置初期同伴位置
  68.     $game_party.setup_starting_members
  69.     # 设置初期位置的地图
  70.     $game_map.setup(001)
  71.     # 主角向初期位置移动
  72.     $game_player.moveto(0,0)
  73.     # 刷新主角
  74.     $game_player.refresh
  75.     # 执行地图设置的 BGM 与 BGS 的自动切换
  76.     $game_map.autoplay
  77.     # 刷新地图 (执行并行事件)
  78.     $game_map.update
  79.     # 切换地图画面
  80.     $scene = Scene_Map.new
  81.   end
  82.     def battle_test
  83.     # 载入数据库 (战斗测试用)
  84.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  85.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  86.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  87.     $data_items         = load_data("Data/BT_Items.rxdata")
  88.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  89.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  90.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  91.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  92.     $data_states        = load_data("Data/BT_States.rxdata")
  93.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  94.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  95.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  96.     $data_system        = load_data("Data/BT_System.rxdata")
  97.     # 重置测量游戏时间用的画面计数器
  98.     Graphics.frame_count = 0
  99.     # 生成各种游戏对像
  100.     $game_temp          = Game_Temp.new
  101.     $game_system        = Game_System.new
  102.     $game_switches      = Game_Switches.new
  103.     $game_variables     = Game_Variables.new
  104.     $game_self_switches = Game_SelfSwitches.new
  105.     $game_screen        = Game_Screen.new
  106.     $game_actors        = Game_Actors.new
  107.     $game_party         = Game_Party.new
  108.     $game_troop         = Game_Troop.new
  109.     $game_map           = Game_Map.new
  110.     $game_player        = Game_Player.new
  111.     # 设置战斗测试用同伴
  112.     $game_party.setup_battle_test_members
  113.     # 设置队伍 ID、可以逃走标志、战斗背景
  114.     $game_temp.battle_troop_id = $data_system.test_troop_id
  115.     $game_temp.battle_can_escape = true
  116.     $game_map.battleback_name = $data_system.battleback_name
  117.     # 演奏战斗开始 BGM
  118.     $game_system.se_play($data_system.battle_start_se)
  119.     # 演奏战斗 BGM
  120.     $game_system.bgm_play($game_system.battle_bgm)
  121.     # 切换到战斗画面
  122.     $scene = Scene_Battle.new
  123.   end
  124. end
复制代码

再新建一个地图,ID应该是002
Scene_Title下插入一个脚本:
名字为Scene_Title2
内容:
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

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

之后在地图1,也就是播放开场动画的地图中播放开场动画的那个事件末尾写入脚本:
  1. $scene = Scene_Title2.new
复制代码

大致就是这样子,因为自己才刚刚学脚本,所以不太好用的,希望大家支持。

              [本贴由 御灵 于 2008-1-24 23:25:11 进行了编辑]
[b][color=Orange]湖人是冠军![/color][/b]
[b][color=Red][url=http://rpg.blue/forum.php?mod=viewthread&tid=139345]【觉醒之炎绘图集】(图多慎入)2010.6.20二度更新[/url][/color][/b]

Lv1.梦旅人

SADAHARU·I

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-1-17
帖子
1307
10
 楼主| 发表于 2008-2-1 23:14:45 | 只看该作者
不好意思,MS发布重了.
早先66发过的:
http://rpg.blue/web/htm/news857.htm
也许是上次数据丢失造成原帖没了.
请更正.
[b][color=Orange]湖人是冠军![/color][/b]
[b][color=Red][url=http://rpg.blue/forum.php?mod=viewthread&tid=139345]【觉醒之炎绘图集】(图多慎入)2010.6.20二度更新[/url][/color][/b]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

雷欧纳德的宠物

梦石
0
星屑
50
在线时间
769 小时
注册时间
2006-8-6
帖子
3778

贵宾

9
发表于 2008-1-25 07:25:34 | 只看该作者
发布完毕。
http://rpg.blue/web/htm/news928.htm
vip+4
打酱油的- -b
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

8
发表于 2008-1-4 17:03:29 | 只看该作者
我想到一个方法,不知行不行

这个插入Scene_Title下面,
并且重新命名为Scene_Title2

接着把main的第13行
  # 生成场景对像 (标题画面)
  $scene = Scene_Title.new
改成
  # 生成场景对像 (标题画面)
  $scene = Scene_Title2.new

然後在地图1播放完开场动画後写入脚本
  $scene = Scene_Title.new

如此就能无限循环了
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-27
帖子
19
7
发表于 2008-1-4 04:50:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
5
在线时间
0 小时
注册时间
2008-1-2
帖子
1
6
发表于 2008-1-2 16:30:38 | 只看该作者
我弄了,但是最后怎么无限循环啊- -
回复 支持 反对

使用道具 举报

Lv1.梦旅人

翔于天壤之人<

梦石
0
星屑
74
在线时间
3 小时
注册时间
2006-10-10
帖子
709
5
发表于 2007-7-9 03:14:09 | 只看该作者
用处不小...做个Logo的问题算是解决了....
不过这种调用方式...确实麻烦了点哦^^
总而言之是个好东西,华丽的顶上去并收下了~~/-v-/
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Dancer-

梦石
0
星屑
105
在线时间
78 小时
注册时间
2006-5-15
帖子
3306
4
发表于 2007-7-9 01:27:34 | 只看该作者
和我那游戏里的logo画面同一方法。
一个机缘巧合后,被改变了人生的第八年。
养着两只猫,可是我对猫过敏。
为了那终将到来的一天。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

脚本盲

梦石
0
星屑
50
在线时间
0 小时
注册时间
2005-11-17
帖子
1753
3
发表于 2007-7-9 01:10:44 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

SADAHARU·I

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-1-17
帖子
1307
2
 楼主| 发表于 2007-7-8 20:59:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
是这样的,我想游戏一开始先到一个地图界面,再采用事件的方式来做开场动画。完了再用一个脚本,切换到正常的标题界面。这个是我目前所能达到的最高水平。
以下为正文:
先把Scene_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.     @sprite = Sprite.new
  34.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  35.     # 生成命令窗口
  36.     s1 = "0"
  37.     # 生成命令窗口
  38.     @command_window = Window_Command.new(40, [s1])
  39.     @command_window.back_opacity = 30
  40.     @command_window.x = -88 - @command_window.width / 2
  41.     @command_window.y = -888
  42.     # 停止演奏 ME、BGS、BGM
  43.     Audio.bgm_stop
  44.     Audio.me_stop
  45.     Audio.bgs_stop
  46.     # 执行过渡
  47.     Graphics.transition
  48.     # 装备过渡
  49.     Graphics.freeze
  50.     # 释放标题图形
  51.     @sprite.bitmap.dispose
  52.     @sprite.dispose
  53.     # 重置测量游戏时间用的画面计数器
  54.     Graphics.frame_count = 0
  55.     # 生成各种游戏对像
  56.     $game_temp          = Game_Temp.new
  57.     $game_system        = Game_System.new
  58.     $game_switches      = Game_Switches.new
  59.     $game_variables     = Game_Variables.new
  60.     $game_self_switches = Game_SelfSwitches.new
  61.     $game_screen        = Game_Screen.new
  62.     $game_actors        = Game_Actors.new
  63.     $game_party         = Game_Party.new
  64.     $game_troop         = Game_Troop.new
  65.     $game_map           = Game_Map.new
  66.     $game_player        = Game_Player.new
  67.     # 设置初期同伴位置
  68.     $game_party.setup_starting_members
  69.     # 设置初期位置的地图
  70.     $game_map.setup(001)
  71.     # 主角向初期位置移动
  72.     $game_player.moveto(0,0)
  73.     # 刷新主角
  74.     $game_player.refresh
  75.     # 执行地图设置的 BGM 与 BGS 的自动切换
  76.     $game_map.autoplay
  77.     # 刷新地图 (执行并行事件)
  78.     $game_map.update
  79.     # 切换地图画面
  80.     $scene = Scene_Map.new
  81.   end
  82.     def battle_test
  83.     # 载入数据库 (战斗测试用)
  84.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  85.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  86.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  87.     $data_items         = load_data("Data/BT_Items.rxdata")
  88.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  89.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  90.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  91.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  92.     $data_states        = load_data("Data/BT_States.rxdata")
  93.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  94.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  95.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  96.     $data_system        = load_data("Data/BT_System.rxdata")
  97.     # 重置测量游戏时间用的画面计数器
  98.     Graphics.frame_count = 0
  99.     # 生成各种游戏对像
  100.     $game_temp          = Game_Temp.new
  101.     $game_system        = Game_System.new
  102.     $game_switches      = Game_Switches.new
  103.     $game_variables     = Game_Variables.new
  104.     $game_self_switches = Game_SelfSwitches.new
  105.     $game_screen        = Game_Screen.new
  106.     $game_actors        = Game_Actors.new
  107.     $game_party         = Game_Party.new
  108.     $game_troop         = Game_Troop.new
  109.     $game_map           = Game_Map.new
  110.     $game_player        = Game_Player.new
  111.     # 设置战斗测试用同伴
  112.     $game_party.setup_battle_test_members
  113.     # 设置队伍 ID、可以逃走标志、战斗背景
  114.     $game_temp.battle_troop_id = $data_system.test_troop_id
  115.     $game_temp.battle_can_escape = true
  116.     $game_map.battleback_name = $data_system.battleback_name
  117.     # 演奏战斗开始 BGM
  118.     $game_system.se_play($data_system.battle_start_se)
  119.     # 演奏战斗 BGM
  120.     $game_system.bgm_play($game_system.battle_bgm)
  121.     # 切换到战斗画面
  122.     $scene = Scene_Battle.new
  123.   end
  124. end
复制代码

再新建一个地图,ID应该是002
Scene_Title下插入一个脚本:
名字为Scene_Title2
内容:
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

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

之后在地图1,也就是播放开场动画的地图中播放开场动画的那个事件末尾写入脚本:
  1. $scene = Scene_Title2.new
复制代码

大致就是这样子,因为自己才刚刚学脚本,所以不太好用的,希望大家支持。

              [本贴由 御灵 于 2008-1-24 23:25:11 进行了编辑]
[b][color=Orange]湖人是冠军![/color][/b]
[b][color=Red][url=http://rpg.blue/forum.php?mod=viewthread&amp;amp;amp;tid=139345]【觉醒之炎绘图集】(图多慎入)2010.6.20二度更新[/url][/color][/b]
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 22:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表