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

Project1

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

[已经解决] 一个rgss1预设bug。与事件接触事件过度触发

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2821
在线时间
585 小时
注册时间
2022-7-13
帖子
89
跳转到指定楼层
1
发表于 2022-7-14 11:14:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 我为鱼肉 于 2022-7-15 17:34 编辑

昨天在搞工程的时候,突然发现一个奇怪bug。我只开始还以为是我乱搞了什么东西,经过检查发现:如果地图坐标0,0有一个与事件接触的事件,那么该事件会自动触发。
大家可以新建个工程试一试,左上角0,0一个与事件接触事件然后随便显示个文章,直接开测,会发现自动显示文章而不需要接触。但奇怪的是有时候会触发但有时候却不会触发,目前还不知道为什么。有没有大佬排除该bug


不是与主角接触,记错了

Lv5.捕梦者

梦石
24
星屑
7022
在线时间
247 小时
注册时间
2020-12-4
帖子
306

极短24获奖极短23获奖极短22获奖

2
发表于 2022-7-15 22:42:23 | 只看该作者
我猜————我猜测哦!
可能XP里自带的传送机制是这样的——
传送到一个地图的时候,先是改变map_id,然后map初始化,此时初始化得到的角色的坐标是(0,0),在初始化完成之后,才会执行之前【场所移动】事件中的设置角色的XY坐标。
我猜测这个BUG可能是这样,改变地图,地图初始化之后,在移动角色的XY坐标之前,map中进行了事件的判定,于是就触发了(0,0)【与事件接触】的事件;
之所以【与主角接触】的事件在这种情况下不会触发,想必也是因为【与主角接触】的事件的触发条件是角色要【走】到该事件上才会执行。
你所谓的【有时候会触发,而有时候不会触发】我猜测可能是这样的:
1、之前执行的【场所移动】的那个事件,执行了【场所移动】之后还有其他的事件指令,所以阻止了更新地图后那个【与事件接触】的事件的触发(有事件正在执行的时候是不会立即执行新的事件的,除非是并行处理)
2、新的地图有【自动执行】的事件,且事件的id < (0,0)坐标【与事件接触】的那个事件的id;所以先执行了【自动执行】的事件,从而避免了(0,0)事件的触发

解决方法:
1、如果接下来的地图存在(0,0)【与事件接触】的事件;不要把【场所移动】的事件指令放在事件页的最后一行;可以在后面添加一行【中断事件处理】;or;等待X帧;or;也可以【设置角色移动】(空)(等待移动结束)......等等之类能够阻止新事件执行的指令!
2、根源上解决问题,不要把【与事件接触】的事件放在(0,0)

评分

参与人数 3星屑 +50 +3 收起 理由
SailCat + 1 已安排修bug
RyanBern + 50 + 1 认可答案
我为鱼肉 + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 11:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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