Project1

标题: 让事件触发面扩大——具有自己的长和宽V1.00 [打印本页]

作者: slick    时间: 2009-11-12 11:36
标题: 让事件触发面扩大——具有自己的长和宽V1.00
本帖最后由 slick 于 2009-11-12 14:50 编辑

下了个流川枫的视野系统,很有意思。

于是我受到了一个启发,来了灵感——

在一部RPG游戏中,事件的设置是相当有讲究的。

假如碰到很长的桌子或围墙,你想检视它怎么办?

像这样设置一大长串事件么?



错!

假如一大堆士兵在追你,想让他们在一定距离内看见你怎么办?

设置一大堆并行事件么?

错!

这样会相当耗费系统资源,尤其是围墙或NPC较多的状况下。那么

这个脚本会帮你解决类似问题。

像这样设置:



事件就会拥有它自己的“视野”范围,如果你处于这个

范围之内,事件就会自己触发——不必非得

挨到什么物体之前!

并且,你还可以修改视线范围的形状!

第1个参数:事件的“长”,缺省为普通事件

第2个参数:事件的“宽”,缺省为普通事件

第3个参数:事件的“形状”:0或缺省为矩形,非0值为菱形(菱形时取长宽中的较大值为视野范围)

第4个参数:是否要跑到事件的正面才算“看见”:0或缺省为否(全向),非0为是(定向)。



范例工程下载:

事件接触判定.rar (315.75 KB, 下载次数: 360)

============================================================

具体使用举例:
1.譬如设定一个长篱笆,那么在事件地图上设一个决定键触发的事件
并命名为“围墙,4,1,0,0”(记住一定要使用英文半角逗号隔开)

那么意义为:该事件触发范围——长为4,宽为1,形状为矩形,上下左右四方位触发



2.设定一个士兵,命名为“士兵,3,3,0,0”

那么意义为:该事件触发范围——长为3,宽为3,形状为矩形,上下左右四方位触发



3.设定一个醉汉,命名为“醉汉,3,3,1,0”

那么意义为:该事件触发范围——长为3,宽为3,形状为菱形,上下左右四方位触发



4.设定一个醉汉,命名为“醉汉,3,3,1,1”

那么意义为:该事件触发范围——长为3,宽为3,形状为菱形,只有正面交锋时才触发



注意事项:如果事件区域设定为菱形(即第三个参数为非0值),那么视野区域的长、宽由较大值决定(即前两个参数的较大值),譬如:

“醉汉,2,3,1,1”
“醉汉,3,2,1,1”
“醉汉,3,3,1,1”
的意义是一样的,长宽都是3。

但是当区域为矩形时(即第三个参数为0或缺省),就不一样了,长宽各自为政。
作者: 后知后觉    时间: 2009-11-12 12:28
本帖最后由 后知后觉 于 2009-11-12 12:33 编辑

啊.这个.好东西啊
不过那个菱形是怎么的一个范围啊
能用空事件示范一下吗
就是设置为菱形的话.哪些点有效就拜个空事件
这样就一目了然了^_^
作者: slick    时间: 2009-11-12 14:51
啊.这个.好东西啊
不过那个菱形是怎么的一个范围啊
能用空事件示范一下吗
就是设置为菱形的话.哪些点有效就拜个空事件
这样就一目了然了^_^
后知后觉 发表于 2009-11-12 12:28


感谢提醒——使用方法已经补上。
作者: kinguanghua    时间: 2009-11-12 15:43
支持啊 正好最近在研究地图方面的东西 拿来研究去了 呵呵
作者: 许诺言    时间: 2009-11-12 16:16
好东西,收下了
作者: 凌辰    时间: 2009-11-12 18:28
哟哟,收下了。
会方便很多呢。设置也很简明。
作者: 瓦沙尔    时间: 2009-11-16 16:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: 夏季冰川    时间: 2009-11-17 13:51
嗯,这个想法很好啊,说不定我做ARPG能用上,谢谢slick君了。




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