javascript - 在 JavaScript 中调用 object.width 返回 NaN

标签 javascript arrays width collision createjs

我目前正在开发一款游戏,该游戏与火箭飞船四处移动以及物体(圆圈)从顶部掉落有关。这个游戏的目标是当物体从屏幕上掉下来时不要撞到它们。我在编写碰撞算法时遇到了问题。

我已经声明了 var hit = false;在我的代码的顶部 我还将所有圆圈放入一个名为“射弹”的数组中。

我相信我的逻辑是正确的,但我发现当调用 p.width 或 ship.width 时它返回 NaN。我尝试过使用 offsetWidth 但也不起作用。我想知道如何获取对象的宽度

底部的 else 语句只是检查 .width 是否返回正确的数字。一旦我让它工作,它将被删除并替换为碰撞算法的最终部分。

function checkCollision()
{

    for (i = 0; i < projectiles.length; i++) {
        var p = projectiles[i];
        if((p.x + p.width) < ship.x)
        {
            hit = false;
        }
        else if(p.x > (ship.x + ship.width))
        {
            hit = false;
        }
        else if(p.y > (ship.y + ship.height))
        {
            hit = false;
        }
        else if((p.y + p.height) < ship.y)
        {
            hit = false;
        }
        else {
            console.log(ship.x + ship.width);
        }

最佳答案

createjs.Bitmap 的文档中不存在 .width.height 属性。相反,访问它的 .image (HTMLImageElement)定义了宽度和高度属性的属性:ship.image.widthship.image.height

关于javascript - 在 JavaScript 中调用 object.width 返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540333/

相关文章:

C、无法正确打印结构体内部的数据

java - 当数组中存在元素时,为什么index = -1?

HTML CSS 表格布局

javascript - 如何使用 NodeJS 在 SSH2 上执行多个命令

javascript - 为什么这个复选框列在这个 ExtJS 网格中不起作用?

javascript - 将 javascript 与 cakephp 连接起来

YUI - 获取真正的元素宽度?

javascript - $(window).load 刷新时的奇怪行为

c - 将字符串数组转换为 C 中的字符串

javascript - jQuery if 语句取决于 px 中的宽度