我一直在做一项迷宫生成任务,我在代码的主要部分上遇到了困难。
fillNeighbours(neighbours, cell);//this checks to see which
neighbours are available
while (neighbours.length > 0) {
var index:int = (Math.random() * neighbours.length);
Math.floor(index);
var ob:Object = neighbours.splice(index, 1);
trace("ob: " + ob);
var pnt:Point = (ob as Point);
trace("pnt: " + pnt);
generate(pnt);
}似乎把对象作为一个点来进行转换是个问题。因为它没有正确地将对象转换为重点。当我跟踪对象时,它跟踪一个随机点(x,y)的坐标,但是当我跟踪这个点时,它跟踪为null,错误运行:故障异常,information=TypeError: error #1009:无法访问空对象引用的属性或方法。在过去的5天里,我一直在寻找错误,我确信这并不是太小的错误。如果有人知道我的问题是什么,我愿意给他们买食物。请给我。帮助。
发布于 2015-03-02 20:09:24
如果ob as Point不是Point的实例,那么ob将返回Point。我认为您将在trace("pnt"+pnt)输出中看到这种情况。
AS3还有另一种转换方式:Point(ob),如果ob不是Point实例,它将引发运行时错误。
还有一种检查您的ob是否确实是Point的方法:(ob is Point),只有当您的ob值引用Point实例时才是true。
我猜僵尸管理员是对的,说数组中实际上没有Point实例。
https://stackoverflow.com/questions/28816611
复制相似问题