看见精华区没一帖是我发的……口古月口阿!!!!现在就发个来看看(即便很弱……即便很容易给人鄙视……555)
_/_/_/_/_/敌人视觉系统(事件)_/_/_/_/_/
##做在地图的某个事件里,开始条件为“并行处理”。[]内表示为某变数。
##本系统基本概念:
## 当角色走进一个由某事件为中心的虚构的多边型(也就是视觉范围)内敌人做出某种反
##应。而重点就是如何构成这个多边形。有上过初中(……昏,有点鄙视人的感觉……)的朋友
##都知道什么是十字坐标系。就是有两条垂直交差的线,交点为O,坐标记为(0,0)。在横线
##里,过O点越往右数值越大(且数值不小于0),反之越小(数值小于0)。而纵线则是过O点
##越往上数值越大(且数值不小于0),反之越小(数值小于0)。从而派生出4个象限。1象限坐
##标是(-X,Y),2象限(X,Y),3象限(X,-Y),4象限(-X,-Y)。罗嗦地说了一堆,就
##是让大家明白下面所出现的操作是什么原因。
##↓十字坐标系的简易图……
变量操作:[敌人X]代入本事件X坐标
变量操作:[敌人Y]代入本事件Y坐标
##↑给变数代入这个事件的坐标。
变量操作:[敌人X]-1
###设定敌人视觉在1象限的数值。X坐标数值-1,代表在十字坐标系中向左移动单位(在这里
##就是1了),而Y坐标数值-1,则代表向下移动单位。反过来,X+1向右,Y+1向上。这里可以
##随便设定定数值,视你的游戏而定。
变量操作:[敌人X]代入[敌人攻击X]
变量操作:[敌人攻击X]+1
##设定敌人视觉在2象限的数值。代入新的变数是因为不能影响已经给了数值的1象限变数。
##另外要是这个数值跟1象限的数值不同,那产生的图形也不同,所以说这个视觉是多边形。
变量操作:[敌人Y]-1
变量操作:[敌人Y]代入[敌人攻击Y]
变量操作:[敌人攻击Y]+1
##与1、2象限的方法同理。这里是设置3、4象限。
条件分歧:主角X坐标>=[敌人X]
条件分歧:主角X坐标<=[敌人攻击X]
条件分歧:主角Y坐标>=[敌人Y]
条件分歧:主角Y坐标<=[敌人攻击Y]
##判断主角是否进入该敌人视觉。个中原理可以自己揣摩一下。
设置事件位置:{被攻击的事件}:[主角X坐标][主角Y坐标]
##这个是要是敌人察觉到角色进入视觉的行动。但是为什么会是设置事件位置呢?其实是因为要
##是敌人直接有反应话主角很难躲避攻击,这个事件是用来缓和敌人的攻击用的。下面会逐步说
##明。(注:这是事件名字为“被攻击的事件”,位置得和敌人同一地图上。内容不用设置,但##是要是能够和主角穿透的。)
等待:5帧##03或者00的就是等待:X秒。X随自己定
显示动画:{被攻击的事件}——[攻击]
变量操作:[被攻击的X]={被攻击的事件}的X坐标
变量操作:[被攻击的Y]={被攻击的事件}的Y坐标
##测定主角是否和{被攻击的事件}事件重合。那个等待就给主角躲避的时间,时间一过而主角还##是跟那个事件重合的话就发生攻击反应。而那个显示动画是无论打不打中只要主角进入视觉范
##围就放,给人一种放了打不中的效果。
条件分歧:[主角X坐标]==[被攻击的X]
条件分歧:[主角Y坐标]==[被攻击的Y]
主角减少HP:10
##这里是主角没及时离开而发生攻击反应的后果。至于内容随大家自己定。
END
噢……系统就这样完了……但是还有很多缺点,就是不能解决“透视眼”问题和这个事件设置为不动的话视觉会变得怪怪的…………不过我是花一晚想出来和实践出来的,无功也有劳,即使可能外国站早有更好的、这里有想出更好的…………(本系统收录与“贺岁!幻想森林大激斗”内)
[此贴子已经被作者于2005-2-20 2:58:41编辑过] |