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

Project1

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

[有事请教] 求助!写脚本遇到cannot read property 'X' of undefined的报错

[复制链接]

Lv2.观梦者

梦石
0
星屑
794
在线时间
37 小时
注册时间
2021-5-10
帖子
37

极短21参与

跳转到指定楼层
1
发表于 2021-12-31 02:47:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
前两天询问了站里大佬们,开始尝试用脚本来编写明雷遇敌。我自己的想法是用脚本读取了player 和event的坐标值再用if判断他们相减的绝对值从而达到玩家与敌群在不同的范围内做出不同的反应(从随机移动改为靠近玩家之类的)但写来写去总是报错cannot read property 'X' of undefined;明白大概是系统没有定义到我的X值(改成Y值在前也是这样的报错),然后就不是很清楚该怎么改了。。。劳烦各位大佬解答一下,谢谢!

Lv3.寻梦者

梦石
0
星屑
2866
在线时间
446 小时
注册时间
2016-9-26
帖子
1223
2
发表于 2021-12-31 03:20:59 | 只看该作者
把var都去掉试试?因为var是临时声明
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19280
在线时间
2307 小时
注册时间
2015-7-4
帖子
937
3
发表于 2021-12-31 09:57:00 | 只看该作者
报错是“.x”之前的对象未定义,你这脚本有“.x”的地方就两处,一处是$gamePlayer,这个你只要是运行游戏有角色就不会报这个错,另一处是$gameMap.events()[6],问题应该是出在这里,确认一下这个6号事件是否存在吧。
回复 支持 1 反对 0

使用道具 举报

Lv2.观梦者

梦石
0
星屑
747
在线时间
245 小时
注册时间
2019-7-6
帖子
61
4
发表于 2021-12-31 10:39:56 | 只看该作者
var是临时定义,只会在定义的函数里面使用,你通过脚本定义变量之后在使用别的方法调用的话要使用全局变量,改成这样window.PlayerX = $gamePlayer.X
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
794
在线时间
37 小时
注册时间
2021-5-10
帖子
37

极短21参与

5
 楼主| 发表于 2022-1-1 14:37:40 | 只看该作者
qq983378065 发表于 2021-12-31 10:39
var是临时定义,只会在定义的函数里面使用,你通过脚本定义变量之后在使用别的方法调用的话要使用全局变量 ...

好像还是不成功诶orz。。。
还是没定义到

点评

按原贴改回来后,按我说的试试?  发表于 2022-1-1 15:00
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7565
在线时间
665 小时
注册时间
2012-7-29
帖子
174
6
发表于 2022-1-1 15:40:21 | 只看该作者
我赞成3楼的回答。估计你要用6号事件,但$gameMap.events()返回的数组是从0号开始计数的,所以应该取$gameMap.events()[5]的x、y。
如果我猜对了的话,你的地图中应该只有6个事件,因此$gameMap.events()只有6个元素,不存在$gameMap.events()[6],所以会报无法读取undefined的属性的错误。

另外顺带提有几处可能的问题:
1. 分支条件里的eventY写成evenrY了;
2. 包含战斗处理的那个分支,条件语句的意思是当怪位于玩家上下两格的同一行,或左右两格的同一列这个井字形区域时进入战斗。你可能是故意这样设计的,不过如果是我,应该会设计成当怪在上下左右一格时才进入战斗,因为这样更符合“遇敌”的直觉。
3. 正如2、4楼所说,想要在分支条件里用playerX之类的新定义的变量,就要把它定义成全局变量。这个问题直接去掉所有的var就能解决。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
794
在线时间
37 小时
注册时间
2021-5-10
帖子
37

极短21参与

7
 楼主| 发表于 2022-1-2 03:05:05 | 只看该作者
感谢楼上各位大佬的解答!现在代码的编译修正后是没问题了!的确是要把var去掉以及一些小错误改完后就游戏可以运行了!谢谢!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 15:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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