查看: 3966|回复: 14

[已经解决] 能不能自动判断事件和主角的方位与距离呢?

[复制链接]
梦石
0
星屑
1446
在线时间
6552 小时
注册时间
2010-12-30
回帖
8655
发表于 2012-4-21 19:52:18 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 835494264 于 2012-4-21 20:07 编辑

就是自动对比本事件和主角的X、Y坐标,大致分为8个方位,
然后可以用脚本带入并行事件的条件判断,
就可以做主角和事件相对8个方位不同的反应?
嗯,我知道变量就可以做,但一个地图安排的需要这样做的事件有点多……但我又是脚本盲……
效果.png
然后判断距离就简单了,上一步比较X、Y坐标时顺便就能做了,
就是请告诉我在事件中插入条件分歧时带入什么脚本来判断距离。

判断距离的意思是,可以配合条件分歧实用,比如用来判断主角离事件5步内发生什么什么啊,7步内发生什么什么啊


‘‘──835494264于2012-4-21 20:06补充以下内容

@hys111111请高手求助啊,想要的效果写出来了,应该不是很麻烦,请一定帮助一下吧。
’’

点评

嗯嗯,就把v给讲述最详细的朋友了,版主路过时请帮忙感谢一下其他帮助者吧。  发表于 2012-4-25 13:50
就是X相等时,Y相等时,判断主角和事件坐标大小,确认四个方向;之后,不包括X、Y轴,第一象限统一化为一个方向,二、三、四类推,又是4个方向.一共八个  发表于 2012-4-21 20:01
我想的效果是,就比较X、Y坐标的大小后简单判断为8个方向就好了。  发表于 2012-4-21 19:56
斜线判断?!勾股定理脚本?!  发表于 2012-4-21 19:54

咩

梦石
0
星屑
1640
在线时间
381 小时
注册时间
2010-10-9
回帖
286

开拓者

发表于 2012-4-21 20:10:34 | 显示全部楼层
$game_player.x $game_player.y这是主角的坐标。
$game_map.events[X].x  $game_map.events[X].y 这是X号事件的坐标(本事件好像是X = 0)
通过比较两者的值来确定:
比如:
x 相等 且主角的y大 --》 主角在下方
主角的x,y都大 - - 》 主角在右下方
==========================================
至于你说的两者距离在一定范围内,可以用脚本计算他们的差,取绝对值:

比如:
($game_player.x -= $game_map.events[1].x).abs <= 7
就是两者x差在7之内。
回复

使用道具 举报

梦石
0
星屑
1446
在线时间
6552 小时
注册时间
2010-12-30
回帖
8655
 楼主| 发表于 2012-4-21 20:17:10 | 显示全部楼层
本帖最后由 835494264 于 2012-4-21 20:22 编辑
piaoy 发表于 2012-4-21 20:10
$game_player.x $game_player.y这是主角的坐标。
$game_map.events[X].x  $game_map.events[X].y 这是X号事 ...


呃,按方法试了一下,变成这样了:
傲游截图20120421201610.png
傲游截图201204212016101.png
回复

使用道具 举报

咩

梦石
0
星屑
1640
在线时间
381 小时
注册时间
2010-10-9
回帖
286

开拓者

发表于 2012-4-21 20:28:38 | 显示全部楼层
835494264 发表于 2012-4-21 20:17
呃,按方法试了一下,变成这样了:

额,不好意思,我手头没RM,难免会出错的。
你看看脚本编辑器的Game_player里面有木有accessor : x
如果我没猜错,应该只有reader : x
把reader 改成
accessor
回复

使用道具 举报

梦石
0
星屑
1446
在线时间
6552 小时
注册时间
2010-12-30
回帖
8655
 楼主| 发表于 2012-4-21 21:00:39 | 显示全部楼层
piaoy 发表于 2012-4-21 20:28
额,不好意思,我手头没RM,难免会出错的。
你看看脚本编辑器的Game_player里面有木有accessor : x
如 ...

accessor和reader都搜不到啊?怎么设置?还是缺什么脚本?
回复

使用道具 举报

咩

梦石
0
星屑
1640
在线时间
381 小时
注册时间
2010-10-9
回帖
286

开拓者

发表于 2012-4-21 21:17:18 来自手机 | 显示全部楼层
脚本编辑器左侧game_character1里有应该attr_reader:x,把reader改成accessor
回复

使用道具 举报

梦石
0
星屑
1446
在线时间
6552 小时
注册时间
2010-12-30
回帖
8655
 楼主| 发表于 2012-4-21 22:05:07 | 显示全部楼层
piaoy 发表于 2012-4-21 21:17
脚本编辑器左侧game_character1里有应该attr_reader:x,把reader改成accessor

是说以accessor和reader做关键词都什么也搜不到……全盘搜的……
回复

使用道具 举报

咩

梦石
0
星屑
1640
在线时间
381 小时
注册时间
2010-10-9
回帖
286

开拓者

发表于 2012-4-21 23:05:10 来自手机 | 显示全部楼层
我写在沙发上的脚本有错误,请把最后两行那段脚本中的“=”去掉

点评

实在对不起,我之不惠甚矣,给个设置好的图示吧。  发表于 2012-4-23 13:41
回复

使用道具 举报

梦石
0
星屑
50
在线时间
83 小时
注册时间
2010-8-18
回帖
48
发表于 2012-4-22 02:46:10 | 显示全部楼层
本帖最后由 hk0768 于 2012-4-24 03:47 编辑

话说要保留10个字,违规了就扣分吧

点评

谢谢呢,其实我知道变量能做,但是我要插入的事件有点多,一个事件俩变量,俩变量一个公共事件……会累死的……  发表于 2012-4-23 13:39
回复

使用道具 举报

音速君

梦石
0
星屑
161
在线时间
1623 小时
注册时间
2011-6-9
回帖
3342

开拓者贵宾

发表于 2012-4-22 06:49:31 | 显示全部楼层
本帖最后由 Sonic1997 于 2012-4-23 13:40 编辑

如果真的是8方向的话就很容易解决了。
假设距离是2,主角在坐标(5,7)
那么事件有可能出现在
(3,5) (5,5) (7,5)
(3,7) (5,7) (7,7)
(3,9) (5,9) (7,9)
经过减法运算(主角坐标减去事件坐标)
(-2,-2) (0,-2) (2,-2)
(-2,0)- (2,0)
(-2,2) (0,2)(2,2)
那么条件分歧就是:
8d-001.png
8d-002.png
8d-003.png
范例工程- -

8 Direction.rar (187.22 KB, 下载次数: 37)

点评

就是这个意思呢,谢谢了,实在期待成品。  发表于 2012-4-23 13:41
Deartime
RMVA从零学起
【RMVA从零学起】【基础27课】数据库-系统
#2013年11月24日更新
偷懒了好久呢. .
于是最终还是决定暂时不写进阶教程了
先把这些基础的东西仔细说一下.w.
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部