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

Project1

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

[原创发布] 《我们的事件》第一话 从标题开始旅程

 关闭 [复制链接]

Lv1.梦旅人

穿越一季:朔

梦石
0
星屑
50
在线时间
333 小时
注册时间
2007-4-11
帖子
5369

贵宾

跳转到指定楼层
1
发表于 2009-3-18 04:45:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 后知后觉 于 2009-12-5 01:04 编辑

注明:此系列教程提供给已经熟悉RM工具基本的框架并且可以使用简单的事件以及脚本进行制作游戏的同学学习。



Say:脚本与事件共行。奇思妙想者居上
         So.什么方便用什么



友情提示:坚持走事件征途的同学可以尝试一下开拓自己的制作思路.



                           ◆第一话◆
                     
                    <从标题开始我们的旅程>


其实这个用主站图片标题脚本也能解决,只不过效果没有事件来得灵活罢了

开首语:其实事件用起来关键就只有那几个.只是你的思路有没有结合他们让其更强大罢了.

那么,第一话,从事件变量和条件分歧开始.这个在游戏里很多的地方会用到.



条件分歧是什么?
        将要做的事的前提条件(在这里指变量值)是否被满足从而进行判断做出变化

易懂的比喻:当我有一块钱的时候我才能买到A物品 当我有两块钱的时候我才能买到B物品.

简单的变量事件如下:
如建立一个"苹果"的变量.(默认的数值为0)

当这个变量达到你所需要的前提后将会触发.
数值通过自己的事件可以用多种方式进行变化.然后利用条件分歧进行判断。如




这个就是每次对话后1号变量(苹果)+1 。当为10的时候即满足触发条件。

那么,制作事件标题便是实践变量和条件分歧的最好方式。

制作事件标题的方式有很多。可以根据自己的需要进行制作。在这里只讲一下最简单的(路人:懒人~懒人~)

咳咳,进一步简单化。这里讲的事件标题就是通过判断不同的变量来显示不同的图片(可以自己试着拓展一下思路。)然后通过不同的图片(变量)来判断是否进行游戏。读档。结束(作者介绍,图鉴以及其他的都能实现)

那么具体化的简单思路:

当玩家按下键盘的方向键(←,↓,→,↑)变化变量来显示图片。

如下。
设定变量1名称为“标题变量”
条件分歧:
当↑被按下的时候“标题变量”-1
默认为0(这里设置不显示任何图片),即按一下的时候变量=-1
显示图片“结束游戏”(也可以利用公共事件进行关联)

当↓被按下的时候“标题变量”+1
即按一下的时候变量=1
显示图片“结束游戏”(也可以利用公共事件进行关联)

P.s 尝试一下假如是←,→又怎么做呢?

  询问:那么假如我一直按下去,那么变量一直在变化。可图片只有3张而已怎么办
       回答:这个时候加一思路进去:当“标题变量”=-1的时候“标题变量”=3,当“标题变量”=4的时候“标题变量”=1。这里就又有一个小小的循环了。

接下来是判断另一个按键。也就是确认键。

RM默认的为C键(空格或回车)。那么判断C键按下后“标题变量”停留在什么数值即算完毕。如:

当C键为按下的时候 “标题变量”=1.
那么场所移动到自己设置的开始地图(因为标题事件是建立在主角初始地图的).这个就是所谓的“新游戏”

当C键为按下的时候 “标题变量”=2.
也就是进行读档。因为需要知道是否有档读,这里就需要再加上一个脚本判断。
$continue_enabled = true的情况下
$scene = Scene_Load.new(读档画面)
.这个就是所谓的“继续”

当C键为按下的时候 “标题变量”=3.
设立游戏结束.这个就是所谓的“结束游戏”使用脚本也可以($scene = Scene_End.new)

------至此简单的沉默在这里介绍一个简单的标题的简单方式你是不是认为很简单呢 -_-.

以下为附带范例以及跳过默认标题的脚本.

跳过标题脚本 直接覆盖掉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.     # 有効为 @continue_enabled 为 true、無効为 false
  34.     for i in 0..3
  35.       if FileTest.exist?("Sav_Scr/Save#{i+1}.rxdata")
  36.         $continue_enabled = true
  37.       else
  38.         $continue_enabled = false
  39.       end
  40.    end
  41.     # 继续为有效的情况下、光标停止在继续上
  42.     # 无效的情况下、继续的文字显示为灰色
  43.     # 停止演奏 ME、BGS
  44.     Audio.me_stop
  45.     Audio.bgs_stop
  46.     # 执行过渡
  47.     Graphics.transition
  48.     # 主循环
  49.     loop do
  50.       # 刷新游戏画面
  51.       Graphics.update
  52.       # 刷新输入信息
  53.       Input.update
  54.       # 刷新画面
  55.       update
  56.       # 如果画面被切换就中断循环
  57.       if $scene != self
  58.         break
  59.       end
  60.     end
  61.     # 装备过渡
  62.     Graphics.freeze
  63.     # 释放命令窗口
  64.     end
  65. #--------------------------------------------------------------------------
  66. # ● 刷新画面
  67. #--------------------------------------------------------------------------
  68. def update
  69. command_new_game
  70. command_continue
  71. end
  72.   #--------------------------------------------------------------------------
  73.   # ● 命令 : 新游戏
  74.   #--------------------------------------------------------------------------
  75.   def command_new_game
  76.     # 停止 BGM
  77.     Audio.bgm_stop
  78.     # 重置测量游戏时间用的画面计数器
  79.     Graphics.frame_count = 0
  80.     # 生成各种游戏对像
  81.     $game_temp          = Game_Temp.new
  82.     $game_system        = Game_System.new
  83.     $game_switches      = Game_Switches.new
  84.     $game_variables     = Game_Variables.new
  85.     $game_self_switches = Game_SelfSwitches.new
  86.     $game_screen        = Game_Screen.new
  87.     $game_actors        = Game_Actors.new
  88.     $game_party         = Game_Party.new
  89.     $game_troop         = Game_Troop.new
  90.     $game_map           = Game_Map.new
  91.     $game_player        = Game_Player.new
  92.     # 设置初期同伴位置
  93.     $game_party.setup_starting_members
  94.     # 设置初期位置的地图
  95.     $game_map.setup($data_system.start_map_id)
  96.     # 主角向初期位置移动
  97.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  98.     # 刷新主角
  99.     $game_player.refresh
  100.     # 执行地图设置的 BGM 与 BGS 的自动切换
  101.     $game_map.autoplay
  102.     # 刷新地图 (执行并行事件)
  103.     $game_map.update
  104.     # 切换地图画面
  105.     $scene = Scene_Map.new
  106.   end
  107.     #--------------------------------------------------------------------------
  108.   # ● 指令 : 继续游戏  -__-
  109.   #--------------------------------------------------------------------------
  110.   def command_continue
  111.     # 继续无效的情况下
  112.     unless @continue_enabled
  113.       # 演奏无效 SE
  114.       #$game_system.se_play($data_system.buzzer_se)
  115.       return
  116.     end
  117.     # 演奏确定 SE
  118.     $game_system.se_play($data_system.decision_se)
  119.     # 切换到读档画面
  120.     $scene = Scene_Load.new
  121.   end
  122.   #--------------------------------------------------------------------------
  123.   # ● 命令 : 退出
  124.   #--------------------------------------------------------------------------
  125.   def command_shutdown
  126.     # 演奏确定 SE
  127.     $game_system.se_play($data_system.decision_se)
  128.     # BGM、BGS、ME 的淡入淡出
  129.     Audio.bgm_fade(800)
  130.     Audio.bgs_fade(800)
  131.     Audio.me_fade(800)
  132.     # 退出
  133.     $scene = nil
  134.   end
  135.   #--------------------------------------------------------------------------
  136.   # ● 战斗测试
  137.   #--------------------------------------------------------------------------
  138.   def battle_test
  139.     # 载入数据库 (战斗测试用)
  140.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  141.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  142.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  143.     $data_items         = load_data("Data/BT_Items.rxdata")
  144.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  145.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  146.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  147.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  148.     $data_states        = load_data("Data/BT_States.rxdata")
  149.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  150.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  151.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  152.     $data_system        = load_data("Data/BT_System.rxdata")
  153.     # 重置测量游戏时间用的画面计数器
  154.     Graphics.frame_count = 0
  155.     # 生成各种游戏对像
  156.     $game_temp          = Game_Temp.new
  157.     $game_system        = Game_System.new
  158.     $game_switches      = Game_Switches.new
  159.     $game_variables     = Game_Variables.new
  160.     $game_self_switches = Game_SelfSwitches.new
  161.     $game_screen        = Game_Screen.new
  162.     $game_actors        = Game_Actors.new
  163.     $game_party         = Game_Party.new
  164.     $game_troop         = Game_Troop.new
  165.     $game_map           = Game_Map.new
  166.     $game_player        = Game_Player.new
  167.     # 设置战斗测试用同伴
  168.     $game_party.setup_battle_test_members
  169.     # 设置队伍 ID、可以逃走标志、战斗背景
  170.     $game_temp.battle_troop_id = $data_system.test_troop_id
  171.     $game_temp.battle_can_escape = true
  172.     $game_map.battleback_name = $data_system.battleback_name
  173.     # 演奏战斗开始 BGM
  174.     $game_system.se_play($data_system.battle_start_se)
  175.     # 演奏战斗 BGM
  176.     $game_system.bgm_play($game_system.battle_bgm)
  177.     # 切换到战斗画面
  178.     $scene = Scene_Battle.new
  179.   end
  180. end
复制代码
范例地址(大小:175K):http://rpg.blue/upload_program/d ... ��题_117751195.zip

另外链接一个完整版的VX事件标题
http://rpg.blue/upload_program/d/塑望_YUI_107388803.rar

如果有什么不明了或者我遗漏的可以留言.

学不会也没有关系,慢慢往下深入.以后回头看看你会发现一下就能理会了

下一话:双子游戏(也就是同时操作2个人的事件范例)

P.s 以上预告70%真实 =_=,也许是其他的范例.



<我们的事件> 第二话 伪-双子连心

6R复活?别扯淡了.

柳柳一旦接手66RPG,我果断呵呵啊。
头像被屏蔽

Lv1.梦旅人 (禁止发言)

6r最強害蟲!

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-11-9
帖子
592
2
发表于 2009-3-18 05:30:18 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人


梦石
0
星屑
84
在线时间
24 小时
注册时间
2006-5-27
帖子
11425

贵宾

3
发表于 2009-3-18 05:35:34 | 只看该作者
塑料男早安~有空会看的~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

剑圣

梦石
0
星屑
50
在线时间
122 小时
注册时间
2008-8-31
帖子
778
4
发表于 2009-3-18 06:16:35 | 只看该作者
顶一下……

正好在帮学院做一个游戏也用到了事件标题,也传上来给大家参考吧
实现的效果比较华丽(动态logo,流动光线,随机标题画面和音乐等等),
对新手应该有所帮助
http://www.namipan.com/d/03ba6670749ea64eeae2131be0c95cf0b0b0776468a93d00

可是为什么论坛附件老是传不上去呢……{/ll}

PC/IOS/Android共享的RM RPG:未名大学
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-17
帖子
132
5
发表于 2009-3-19 04:19:43 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-7
帖子
21
6
发表于 2009-3-21 08:45:01 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-2-13
帖子
36
7
发表于 2009-3-26 01:11:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-4-29 05:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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