问题标签 [craftyjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 多维数组问题
我已经尝试解决这个问题大约 3 天了,但我似乎无法找到它为什么不起作用。
我有这个功能,它加载图像,并加载所有像素以创建用于 A* 寻路的墙壁网格。我正在使用 CraftyJS 来创建这个游戏,也许是这样?
但是,它似乎加载得很好,但是当我尝试在我的游戏中使用它时,它在大多数图块上给了我大量未定义的值。事实上,我觉得它只填满一排,而不是全部 45。
这是填充 GRID 的函数:
抱歉,这些评论是荷兰语,但我认为你们中的大多数人甚至都不需要这些评论:P。
我尝试在另一个 JS 文件中的另一个函数中收集数据,它看起来有点像这样:
这是我收到的输出:
未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,0,未定义,;
抱歉代码块和东西不好,我不知道它是如何工作的 XD(只需按下 ctrl + K 并复制粘贴)。
我不知道为什么会这样,我用多维数组尝试了各种各样的东西,查了很多,复制粘贴了很多,但它似乎不起作用......(我已经很高兴了加载图像tbh XD)。
我对 JavaScript 和 HTML5 以及所有这些有点陌生,所以请放轻松。
沉黄。
编辑:所以我发现每次执行 grid[y] = new Array(); 时我都在清除数组,所以我将其更改为 if (grid[y] == null) grid[y] = new Array() ;. 现在它工作得更好了,仍然有一些未定义,但我会深入了解它:)。
编辑 2:我完全修复了它,寻路也在工作(A* OP)。感谢大家的帮助!令我失望的是 getGridFromImage 函数,因为它不断清除我的网格 [y]。对于那些和我有同样问题的人,我在下面得到了一个固定版本(不要认为有人像我一样愚蠢,但我猜新开发人员可能会遇到同样的问题)
javascript - 仅将某些 JS 应用于指定的类/ID
我有一个用 JS 编写的游戏,并且有一些代码可以防止用户拖动并突出显示游戏中的内容:
我通常在 HTML 中将它单独应用于我的游戏中的特定元素,但是当你为每个想要“不可选择”的元素拥有所有这些代码时,它看起来并不好。
使用我对 JavaScript 的一点了解,我写了这样的东西:
然后添加.nonselect
到那些我想要不可选择的元素。
但它不起作用。为什么它不起作用,我该怎么做?
javascript - 使用 Crafty.js 制作函数
我正在使用crafty.js游戏库开发一个自上而下的视频游戏,我不得不重复一段代码来制作边框和背景精灵,所以我想把它放到自己的单独函数中并调用它,问题是,每当我使用传统的 javascript 语法执行此操作时,它都会导致错误,我无法弄清楚该怎么做:这是我的场景代码:
我想将 Draw floor 和 Draw boders 位移动到自己的子程序中,我还需要知道如何使用crafty.js 将变量传入和传出函数
javascript - Craftyjs中的覆盖函数
我是 JS 新手并试图覆盖 Craftyjs 中的一个函数,这是我的代码:
当我点击画布时的结果是:
有没有办法把它变成'call B foo'呢?谢谢。
javascript - 内部函数中“this”的范围(CraftyJS 场景)
我正在使用 CraftyJS 编写一个小游戏。这是我想写的:
不幸的是,这并没有按预期工作。它不是匿名对象,而是一个函数。我必须使用不同的语法,并传入我的对象,如下所示:
我很清楚为什么我必须将它声明为function isOccupied
而不是isOccupied: function
(因为它在函数内部,而不是对象中),但我不清楚范围this
是什么。它不会传递给函数。
是否有可能以某种方式将对象保持在某个非全局范围内,而不需要将它们传递给isOccupied
?
javascript - 在 Crafty.js 中获取 Sprite 坐标
我试图获取我的玩家角色所在位置的坐标,所以当他们从“战斗”中回来时,他们将站在他们开始之前的位置,但是我使用了 crafty.js 附带的四向函数,所以我不能查看正在使用的任何变量,有没有办法我可以或必须制作自己的运动事件?
这是我的代码:
javascript - 更改 crafty.js 中的文本
我有两个变量(敌人和玩家健康)在某个事件发生时会发生变化,问题是我不知道如何更改文本或删除文本,所以我无法更改屏幕上显示的健康(目前我只是将新的健康放在旧的健康之上)。这是相关的组件。
javascript - 鼠标点击不会触发 Crafty.js 的事件
我一直在尝试使用 Crafty.js 构建游戏。我有一个用作按钮的图像,一旦用户单击它,他将被引导到下一页。但是,由于某种原因,鼠标单击没有触发。有任何想法吗?
craftyjs - CraftyJS w: 和 h: 属性不适用于图像?
我正在使用 craftyjs 库并尝试使用此函数生成像素图像并将其放大:
然而,它似乎保持在原来的大小..我怎样才能以编程方式扩大它?