感谢楼上各位大佬的解答!现在代码的编译修正后是没问题了!的确是要把var去掉以及一些小错误改完后就游戏可以运行了!谢谢!! |
我赞成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就能解决。 |
qq983378065 发表于 2021-12-31 10:39 好像还是不成功诶orz。。。 还是没定义到 |
var是临时定义,只会在定义的函数里面使用,你通过脚本定义变量之后在使用别的方法调用的话要使用全局变量,改成这样window.PlayerX = $gamePlayer.X |
报错是“.x”之前的对象未定义,你这脚本有“.x”的地方就两处,一处是$gamePlayer,这个你只要是运行游戏有角色就不会报这个错,另一处是$gameMap.events()[6],问题应该是出在这里,确认一下这个6号事件是否存在吧。 |
把var都去掉试试?因为var是临时声明 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-17 17:46
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.