问题标签 [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.

0 投票
1 回答
207 浏览

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]。对于那些和我有同样问题的人,我在下面得到了一个固定版本(不要认为有人像我一样愚蠢,但我猜新开发人员可能会遇到同样的问题)

0 投票
1 回答
93 浏览

javascript - 仅将某些 JS 应用于指定的类/ID

我有一个用 JS 编写的游戏,并且有一些代码可以防止用户拖动并突出显示游戏中的内容:

我通常在 HTML 中将它单独应用于我的游戏中的特定元素,但是当你为每个想要“不可选择”的元素拥有所有这些代码时,它看起来并不好。

使用我对 JavaScript 的一点了解,我写了这样的东西:

然后添加.nonselect到那些我想要不可选择的元素。

但它不起作用。为什么它不起作用,我该怎么做?

0 投票
1 回答
75 浏览

javascript - 使用 requirejs 加载craftyjs

解决这个问题可能很简单,但我似乎无法在任何地方找到答案。如何使用Requirejs 加载Craftyjs . 我已经尝试按正常方式加载它,但它似乎不起作用。

0 投票
1 回答
525 浏览

javascript - 使用 Crafty.js 制作函数

我正在使用crafty.js游戏库开发一个自上而下的视频游戏,我不得不重复一段代码来制作边框和背景精灵,所以我想把它放到自己的单独函数中并调用它,问题是,每当我使用传统的 javascript 语法执行此操作时,它都会导致错误,我无法弄清楚该怎么做:这是我的场景代码:

我想将 Draw floor 和 Draw boders 位移动到自己的子程序中,我还需要知道如何使用crafty.js 将变量传入和传出函数

0 投票
1 回答
212 浏览

javascript - Craftyjs中的覆盖函数

我是 JS 新手并试图覆盖 Craftyjs 中的一个函数,这是我的代码:

当我点击画布时的结果是:

有没有办法把它变成'call B foo'呢?谢谢。

0 投票
3 回答
110 浏览

javascript - 内部函数中“this”的范围(CraftyJS 场景)

我正在使用 CraftyJS 编写一个小游戏。这是我想写的:

不幸的是,这并没有按预期工作。它不是匿名对象,而是一个函数。我必须使用不同的语法,并传入我的对象,如下所示:

我很清楚为什么我必须将它声明为function isOccupied而不是isOccupied: function(因为它在函数内部,而不是对象中),但我不清楚范围this是什么。它不会传递给函数。

是否有可能以某种方式将对象保持在某个非全局范围内,而不需要将它们传递给isOccupied?

0 投票
0 回答
157 浏览

javascript - 在 Crafty.js 中获取 Sprite 坐标

我试图获取我的玩家角色所在位置的坐标,所以当他们从“战斗”中回来时,他们将站在他们开始之前的位置,但是我使用了 crafty.js 附带的四向函数,所以我不能查看正在使用的任何变量,有没有办法我可以或必须制作自己的运动事件?

这是我的代码:

0 投票
1 回答
499 浏览

javascript - 更改 crafty.js 中的文本

我有两个变量(敌人和玩家健康)在某个事件发生时会发生变化,问题是我不知道如何更改文本或删除文本,所以我无法更改屏幕上显示的健康(目前我只是将新的健康放在旧的健康之上)。这是相关的组件。

0 投票
1 回答
647 浏览

javascript - 鼠标点击不会触发 Crafty.js 的事件

我一直在尝试使用 Crafty.js 构建游戏。我有一个用作按钮的图像,一旦用户单击它,他将被引导到下一页。但是,由于某种原因,鼠标单击没有触发。有任何想法吗?

0 投票
1 回答
119 浏览

craftyjs - CraftyJS w: 和 h: 属性不适用于图像?

我正在使用 craftyjs 库并尝试使用此函数生成像素图像并将其放大:

然而,它似乎保持在原来的大小..我怎样才能以编程方式扩大它?