首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >铸造问题(AS3)

铸造问题(AS3)
EN

Stack Overflow用户
提问于 2015-03-02 18:11:56
回答 1查看 43关注 0票数 0

我一直在做一项迷宫生成任务,我在代码的主要部分上遇到了困难。

代码语言:javascript
复制
        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天里,我一直在寻找错误,我确信这并不是太小的错误。如果有人知道我的问题是什么,我愿意给他们买食物。请给我。帮助。

EN

回答 1

Stack Overflow用户

发布于 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实例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28816611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档