接下来看看outoftrack这个判断出轨的目录。这个目录里的触发器要用到计时器。
图 1 判断出轨目录
包括四个触发器,其中第一个是最主要的触发器:10秒倒数。内容如下:
图 2 十秒倒数
事件:玩家控制的红色奥迪离开轨道。这个轨道是我第一篇中要大家画的区域,采取了合并的方式,将若干小的区域合成一整个赛车轨道区域。
动作:首先创建一个计时器窗口,题目上写:警告,你离开了轨道!使用剩余时间;然后将已经创建的窗口变量window设置为上一个创建的计时器窗口;然后设置一下你喜欢的窗口参数,类型,计时的方式;最后开始计时,采用一次计时one shot,并且添加10秒的倒数时间。
然后是defeat触发器,就是判断玩家出轨超时的触发器,如果玩家出轨超时,则弹出信息框说明原因,玩家确认后重新游戏。下面是defeat的触发内容:
图 3 出轨超时
事件:计时器过期;条件:红色奥迪不在轨道上;动作:显示信息:失败!你没在轨道上!
对应这个触发内容的触发器就是最后一个restart:
图 4 重来
事件:玩家按下随便的窗口按钮。
动作:重新开始游戏。
然后来看看goon触发器,就是继续游戏的触发器:
图 5 继续游戏
事件:红色奥迪进入轨道。
条件:计时器时间还有。
动作:暂停计时器,随后隐藏计时窗口,再删除计时窗口。
一定要先暂停计时器,不然计时器无法消失。
然后来看看menu这个文件夹,里面只有一个menu触发器:
图 6 显示菜单
事件:玩家按下esc键。
动作:关闭这个触发器(防止重复),然后显示菜单栏。如果5秒后玩家没动,再隐藏菜单栏。
这个相对比较简单。
最后向大家介绍aimove这个文件夹的所有触发器。这是电脑智能的触发器,很关键。它将控制其余五辆奥迪的行动。
图 7 电脑智能移动
前面我们做了十个点,分别沿着路线为点一到点九,然后起跑线上,也是终点线上为第十个点final。解释一下这些数字的含义:01表示从游戏开始驶向第一个点;12表示从点一到点二,依此类推,f1就是起跑线到点一,路线重复,但触发内容不重复;然后是几个设置变量的触发器,最后是赢或者输的触发器。
首先来看看01:
图 8 01触发器
事件:倒数的三秒过去之后。
条件:变量圈数等于0.0。
动作:命令所有的其他奥迪向点一移动。然后关掉这个触发器。
来看看12:
图 9 12触发器
事件:任何单位进入点一4.0以内范围,也就是靠近点一。
条件:触发的单位不是红色奥迪并且圈数变量为0或1或1.5时。
动作:让触发的单位移动到点二。
解释:这个游戏最终是跑两圈就结束了,如果想提高圈数,还要加一点圈数的变量。 1.5是为了防止冲突特别设置的。到时候会用到这个变量参数。
其他fi到9f都是一样的类型,换汤不换药,只是点的位置改变而已,这里就不多说了。
于是来到setlap1触发器。
图 10 设置圈数变量1
事件:任何单位进入no9。 no9是个区域,如果你没画就赶快画上去,它的位置就在点九那里(快到终点线的那个点)。大小为能让红色奥迪肯定能进入的大小。
条件:圈数为0.0并且处罚的单位就是玩家的红色奥迪。
动作:将圈数变量从0.0设置为1.0
解释:之所以在终点线后面放这样一个区域,是为了减少bug。如果设置为经过终点区域,那么红色奥迪一开始就会经过,没有跑一圈;所以no9这个区域一定不能和六辆赛车碰到一起放置,稍微离得远一点就不会产生错误。
当玩家走过一圈又回到起跑线的时候,我们将提示玩家还剩一圈。这个触发器就是leftlap=1:
图 11 剩余一圈提示
事件:任何单位进入终点线的区域。 line是我又添加的一个区域,横跨终点线。
条件:圈数为1.0并且触发单位为红色奥迪。
动作:显示信息:剩余一圈。过五秒清除信息。
这个只是提示作用,很简单。
再来看看setlap1.5这个触发器:
图 12 设置圈数变量1.5
条件:圈数为1.0并且触发单位为红色奥迪。
动作:过十二秒设为1.5
解释:过十二秒是为了让所有车辆都通过终点线区域并开始第二圈的行驶,否则会有冲突和错误。
然后是最终胜利和最终失败:
图 13 最终胜利
事件:任何单位进入终点区域。记得是区域不是点。
条件:圈数为1.5并且触发单位就是玩家控制的奥迪。
动作:暂停所有单位;显示玩家胜利和祝贺的信息。确认后重新开始游戏。
图 14 最终失败
事件:任何单位靠近了终点final。
条件:圈数为1.5并且触发单位不是玩家的红色奥迪。
动作:暂停所有单位,显示触发玩家胜利的信息。
总结
想不到一个赛车游戏其实还是挺复杂的。如果大家也是志同道合,喜欢玩地图的朋友,可以共同交流探讨。这个赛车游戏只是抛砖引玉。相信更多的地图制作新手都会做出奇妙好玩的地图! (附上我的测试过的游戏地图racing和几张游戏截图)
图 15 游戏截图一
图 16 游戏截图二