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

Project1

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

[已经解决] 条件分歧怎么判定本事件的位置=玩家的位置呢

[复制链接]

Lv2.观梦者

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
帖子
43
跳转到指定楼层
1
发表于 2021-1-31 14:19:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
并行处理的事件,想在玩家迅速经过时触发

分别把玩家的X,Y坐标和事件的X,Y坐标代入变量,但不太稳,不能每次都触发事件

有什么好方法呢

用脚本是否能轻松解决呢

Lv5.捕梦者

梦石
0
星屑
26264
在线时间
5355 小时
注册时间
2016-3-8
帖子
1655
2
发表于 2021-1-31 14:52:37 | 只看该作者
本帖最后由 alexncf125 于 2021-1-31 14:53 编辑

事件左下方的触发条件不就有「与玩家接触」么
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
帖子
43
3
 楼主| 发表于 2021-1-31 14:56:15 | 只看该作者
本帖最后由 风雨流盼 于 2021-1-31 15:02 编辑
alexncf125 发表于 2021-1-31 14:52
事件左下方的触发条件不就有「与玩家接触」么


我想让事件并行处理,那就不能选与事件接触了

我自己写的方法是可以触发,但是如果按太快连着来就不太行了,可能是变量没跟上,所以想问下有没有脚本之类的稳定方法
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26264
在线时间
5355 小时
注册时间
2016-3-8
帖子
1655
4
发表于 2021-1-31 15:20:44 | 只看该作者
本帖最后由 alexncf125 于 2021-1-31 15:22 编辑

条件分歧用
$game_player.real_x == $game_map.events[@event_id].real_x && $game_player.real_y == $game_map.events[@event_id].real_y

评分

参与人数 1+1 收起 理由
风雨流盼 + 1 感谢回答,应该可行

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
帖子
43
5
 楼主| 发表于 2021-1-31 15:29:41 | 只看该作者
实际上刚刚用纯事件发现也可以达成

把玩家和事件的X,Y分别存入不同变量,然后都获取指定位置信息,这样效果不错
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

6
发表于 2021-1-31 15:31:53 | 只看该作者
用事件位置来判断的话是这样:
RUBY 代码复制
  1. ev=$game_map.events;$game_player.pos?(ev[事件编号].x,ev[事件编号].y)


如果不是用事件的位置来判断,会更简单:

RUBY 代码复制
  1. $game_player.pos?(x, y)

注意这里的x和y要改成地图上的位置。
用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26264
在线时间
5355 小时
注册时间
2016-3-8
帖子
1655
7
发表于 2021-1-31 16:07:43 | 只看该作者
KB.Driver 发表于 2021-1-31 15:31
用事件位置来判断的话是这样:

ev=$game_map.events;$game_player.pos?(ev[事件编号].x,ev[事件编号].y)


用的x和y
並行事件会被执行多次吧
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
帖子
43
8
 楼主| 发表于 2021-1-31 16:38:20 | 只看该作者
本帖最后由 风雨流盼 于 2021-1-31 16:51 编辑
KB.Driver 发表于 2021-1-31 15:31
用事件位置来判断的话是这样:

ev=$game_map.events;$game_player.pos?(ev[事件编号].x,ev[事件编号].y)


嗯,也是一种方法,但是如果事件是一直在移动的,

或者要设置多个地图多个事件的话会变得很麻烦的样子

x被提醒了,再次发现自己对脚本啥的懂太少

点评

提提你~@event_id 指本事件的编号  发表于 2021-1-31 16:44
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

9
发表于 2021-1-31 21:53:49 | 只看该作者
本帖最后由 KB.Driver 于 2021-1-31 22:08 编辑
alexncf125 发表于 2021-1-31 16:07
用的x和y
並行事件会被执行多次吧


你写的real_x和我写的x在执行多次这个问题上有什么本质的区别……





另外,real_x的值在经过移动后一直是一个浮点数,
从这个角度来说拿x而不是real_x来判断反而能够提高性能。
测试结果我放在下面了,浮点数和整数的比较所需要的时间比两个整数的比较要长。


用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26264
在线时间
5355 小时
注册时间
2016-3-8
帖子
1655
10
发表于 2021-1-31 22:05:03 | 只看该作者
本帖最后由 alexncf125 于 2021-1-31 22:12 编辑


我表达的意思是, 可能LZ是想在「玩家行走时, 本事件的位置=玩家的位置 时」, 只执行一次事件的内容
我这边测试用x和y, 玩家行过固定的事件时, 会执行十多次
用real_x和real_y, 玩家行过固定的事件时, 只会执行一次

点评

话说大大现在有没有空, 能私下QQ讨教两三个问题么?  发表于 2021-1-31 22:17
是我说得不清楚, 讓大大误解了, 我才抱歉~  发表于 2021-1-31 22:15
抱歉,我以为你说的是方法判断的次数。如果是严格执行一次的话,确实你的写法更符合要求。  发表于 2021-1-31 22:09
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 01:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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