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

Project1

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

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1291
在线时间
6552 小时
注册时间
2010-12-30
帖子
8949
跳转到指定楼层
1
发表于 2012-4-21 19:52:18 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 835494264 于 2012-4-21 20:07 编辑

就是自动对比本事件和主角的X、Y坐标,大致分为8个方位,
然后可以用脚本带入并行事件的条件判断,
就可以做主角和事件相对8个方位不同的反应?
嗯,我知道变量就可以做,但一个地图安排的需要这样做的事件有点多……但我又是脚本盲……

然后判断距离就简单了,上一步比较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

Lv3.寻梦者

梦石
0
星屑
1291
在线时间
6552 小时
注册时间
2010-12-30
帖子
8949
15
 楼主| 发表于 2012-4-24 13:47:35 | 只看该作者
hk0768 发表于 2012-4-24 03:45
知道能做,但我知道你不会做,就算会做也没这样,因为你连下载都没有吧,一个事件弄两个变量一个公共事件? ...

嗯嗯,引起你的不快对不起了,
不过纯事件我自己能做的,看了你的截图我就发现我的思路和你差不多,
我设置过纯事件,知道多麻烦,所以我才下2V的血本求脚本,
嗯嗯,最后还是,引起你的不快真是对不起了,没有任何不尊重的意思。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
83 小时
注册时间
2010-8-18
帖子
50
14
发表于 2012-4-24 03:45:34 | 只看该作者
本帖最后由 hk0768 于 2012-4-24 04:08 编辑

知道能做,但我知道你不会做,就算会做也没这样,因为你连下载都没有吧,一个事件弄两个变量一个公共事件?我第一张图里面7个人物甚至可以更多只用一个事件判断,你知道?脚本不需要代入事件号?或者你是觉得事件的是没什么本事的,连下都懒得下的,我告诉你,脚本比事件简单,当做事件比脚本麻烦!!脚本固然简单,我也技不如人,但请你尊重每一个回复过你的人,不管你信不信我是在回复后才知道你悬赏了2V,我测试了修改了下工夫,但你连下载都没有就来评论我?
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1291
在线时间
6552 小时
注册时间
2010-12-30
帖子
8949
13
 楼主| 发表于 2012-4-23 13:46:26 | 只看该作者
piaoy 发表于 2012-4-22 11:27
楼上的几位都是正解,我把详细的脚本写一下巴:
判断1号事件的x和主角x的差是否小于等于7:用这个脚本可以 ...

貌似可以用了,谢谢呢。


‘‘──835494264于2012-4-23 13:47补充以下内容

{:4_148:}
关于12楼和11楼……那个表示感谢的vip该给谁呢……
’’
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1140
在线时间
381 小时
注册时间
2010-10-9
帖子
386

开拓者

12
发表于 2012-4-22 11:27:27 | 只看该作者
楼上的几位都是正解,我把详细的脚本写一下巴:
判断1号事件的x和主角x的差是否小于等于7:
  1. ($game_map.events[1].x -
  2. $game_player.x).ab <= 7
复制代码
用这个脚本可以举一反三写出你要的效果。
下面这个是判断1号事件的x是否大于主角的x
  1. $game_map.events[1].x >=
  2. $game_player.x
复制代码
用这个脚本也可以举一反三
这些脚本可以写在条件分歧的脚本里。


‘‘──piaoy于2012-4-22 12:13补充以下内容

举例:
1号事件与主角的x举例是否小于7
  1. ($game_map.events[1].x -
  2. $game_player.x).abs
复制代码
1号事件的x与主角的x是否相等(把等号换成>= <= > <      可实现比较大小)
  1. $game_map.events[1].x ==$game_player.x
复制代码
把上面的脚本更具你的需要举一反三现在条件分歧的脚本里就可以了。
’’
回复

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
3190
在线时间
3618 小时
注册时间
2009-4-4
帖子
4154

开拓者

11
发表于 2012-4-22 10:46:19 | 只看该作者
本帖最后由 hys111111 于 2012-4-22 10:57 编辑
  1. e = $game_map.events[@event_id]
  2. p = $game_player
  3. x = e.x - p.x
  4. y = e.y - p.y
复制代码
  1. if x == 0 and y == 0
  2.   p "该事件与角色重合"
  3. end
  4. if x== 0 and y > 0
  5. p "该事件在北部距角色"+(y.abs).to_s
  6. end
  7. if x==0 and y < 0
  8. p "该事件在南部距角色"+(y.abs).to_s
  9. end
  10. if y==0 and x > 0
  11. p "该事件在东部距角色"+(x.abs).to_s
  12. end
  13. if y==0 and x < 0
  14. p "该事件在西部距角色"+(x.abs).to_s
  15. end
复制代码
  1. if x > 0 and y > 0
  2. a = (x*x)+(y*y)
  3. for b in 0...999
  4.   c = b*b
  5.   if a == c
  6.    break
  7.   end
  8. end
  9. p "该事件位于东北部距角色"+b.to_s
  10. end
复制代码
就这样,以此类推

点评

路過學習  发表于 2012-4-24 04:53
可以用呢,谢谢了,不用调试大量变量了,实在感谢。  发表于 2012-4-23 13:46
我的意思是c = b²  发表于 2012-4-22 11:20
c = b ** 0.5  发表于 2012-4-22 11:06
回复

使用道具 举报

Lv1.梦旅人

音速君

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

开拓者贵宾

10
发表于 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)
那么条件分歧就是:



范例工程- -

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

点评

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
83 小时
注册时间
2010-8-18
帖子
50
9
发表于 2012-4-22 02:46:10 | 只看该作者
本帖最后由 hk0768 于 2012-4-24 03:47 编辑

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

点评

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1140
在线时间
381 小时
注册时间
2010-10-9
帖子
386

开拓者

8
发表于 2012-4-21 23:05:10 手机端发表。 | 只看该作者
我写在沙发上的脚本有错误,请把最后两行那段脚本中的“=”去掉

点评

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1291
在线时间
6552 小时
注册时间
2010-12-30
帖子
8949
7
 楼主| 发表于 2012-4-21 22:05:07 | 只看该作者
piaoy 发表于 2012-4-21 21:17
脚本编辑器左侧game_character1里有应该attr_reader:x,把reader改成accessor

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 14:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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