问题标签 [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 - 为什么 CraftyJS/Chrome 会限制并发按键事件的数量?
我正在尝试使用 CraftyJS 开发游戏。我在用着
- 狡猾的 0.7.1
- 铬 50.0.2661.94
- 视窗 10
- 2016 年戴尔 XPS15。
我注意到键盘事件的处理方式有些奇怪。我猜这很大程度上与 Chrome 甚至我的物理键盘有关,而 Crafty 仅与我使用它的 API 有关。
首先,这是我的 SSCCE。此代码在按下时将键添加到键数组中,在释放时将其删除,并每秒注销一次数组。
我注意到一些奇怪的行为:
首先,看起来 Crafty 一次只能识别四个字母按键,除非它们可以用左右手输入。例如,立即按住 ASDFE 会导致:
[65, 83, 68, 70]
无论我如何抨击 E 键,它仍然无法识别。但是,例如,如果我按住 ASDFJKL,那么我会看到:[65, 83, 68, 70, 74, 75, 76]
.一次只能识别两个箭头键,除非第三个是向下箭头。例如,按 LEFT、UP、RIGHT 会导致:
[37, 38]
但 LEFT DOWN RIGHT 会导致:[37, 39, 40]
这到底是怎么回事?我的猜测是,我的手指和我的 JS 之间的某个人正试图巧妙地纠正错误的按键(错别字),但我不知道是谁,也不知道有什么规则来管理这个。
编辑:我怀疑是我的键盘本身(或操作系统)未能发送这些键盘事件。但我仍在寻找一种确认这一点的好方法。
javascript - GET 请求未返回 JSON 文件
我正在使用 Craftyjs 游戏引擎,并且在公共目录中的一个 javascript 文件中,该文件与 html 正确连接,我请求一个 JSON 文件,如下所示:
在控制台中,出现 404 错误。
这里是文件目录。public/ 下的所有内容都可以直接请求。
jQuery 在后台进行请求。
为什么找不到 JSON 文件?我该如何解决?
我已经查找了“json 文件的节点 GET 请求不起作用”的问题,但我正在处理的文件中没有节点。
请求将发送到服务器(而不是发送到本地文件系统)。
javascript - 为什么这个基本的 Canvas 动画不流畅?
我在动画循环中唯一要做的就是更新 x 和 y 坐标,但圆仍然没有像应有的那样平滑移动。这就是小提琴。我正在使用 CraftyJS 为圆圈设置动画。这是执行动画的代码:
其余的计算只完成一次,我不认为只是一堆乘法应该使动画滞后。任何有关如何使动画流畅的帮助将不胜感激。
我之前没有提到xDirection
等于0.005*gWidth
和yDirection
等于0.005*gHeight
。如果gWidth
是600
球还在移动就好了3px
。真的那么快吗?我不想以像素为单位指定宽度(gWidth 是屏幕大小),因为这样不同设备上的游戏玩法会有所不同。有没有办法在保持动画流畅的同时快速移动圆圈?
javascript - 如何检查一个craftyjs实体是否掉出狡猾的区域?
例如,在这种情况下,我如何得到一个警报,说最后一个实体,英雄已经超出了狡猾的初始化区域?
javascript - Craftyjs 视口误解
学习 CraftyJS,我错过了一些关于视口如何工作的信息。我需要:跟随英雄的大型水平地图(平台游戏)和相机。是否有任何提示可以在哪里阅读详细信息,解释它是如何工作的?非常感谢!
PS 官方 CraftyJS API 文档在这种情况下对我没有帮助
javascript - vue.js - craftyjs 点击不起作用
我有以下代码但没有任何反应。
我错过了什么吗?
编辑:
使用答案的示例代码:
javascript - 如何在多个 CraftyJS 组件上应用重力?
我有三个组件,Ground
,Block
和Player
。Ground
我希望玩家在与Block
实体接触时停止跌倒。我已经尝试过this.gravity("Ground, Block");
,this.gravity("Ground", "Block");
但前者禁用了两个组件的重力,而后者启用了第一个参数的重力。
craftyjs - Crafty.js 中的自定义组件
我是 Crafty.js 的新手。我目前正在使用这个框架工作一个 2D 自上而下的 RPG。我正在尝试创建一个自定义组件,该组件将包含单元的信息,例如 Health、Mana、Name 等。我的组件代码如下:
然后我将此组件添加到一个单元中,在我的例子中是一个 Enemy 实体:
当我执行代码时,它显示了这个错误:
我相信 unitinfo() 工作正常,因为控制台日志上出现了“随机消息”,并且每帧都在执行。我只是不明白为什么“这个”被认为是未定义的。有人可以帮我吗?
javascript - TypeError: Crafty.scene 不是函数
我有一个小问题。我正在使用 CraftyJS 开发一个游戏,我需要使用 Electron 来运行它,但是 Electron 会抛出这个错误:
为什么这样做?这是相关的代码+标记:
JS:
craftyjs - CraftyJS 模糊像素艺术
我是 CraftyJS 的新手。我想用低分辨率图形(例如 10x10 像素图块)制作游戏。
我正在尝试使用Crafty.viewport.scale(10)
使游戏大到可以看到,但是缩放游戏会使它变得非常模糊。
就像网络浏览器使用双线性缩放而不是最近邻一样。
在不使其模糊的情况下扩展游戏的最佳方式是什么?