问题标签 [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 回答
734 浏览

javascript - 使用 Crafty 响应触摸

我正在尝试使用 Crafty JS 创建一个游戏,我最终想通过 PhoneGap 进行部署。开箱即用,该.fourway()方法对我的 Android 设备上的触摸没有响应。是否有内置的触摸支持?是否有我可以用来添加触摸功能的组件,或者我必须手动设置它?

0 投票
3 回答
731 浏览

javascript - 如何在 div 中包含我的 JavaScript 游戏?

在我的 HTML 中,我有一个部分,其中有 JavaScript,它添加了一个运行我的游戏的事件侦听器:

如何使 JavaScript 包含在它上面的 div 中?当它显示时,游戏完全在它之外。

我正在使用crafty.js 框架。此处的文档:http: //craftyjs.com/api/

0 投票
2 回答
1008 浏览

javascript - 在 crafty.js 中的精灵上显示背景

在一个小型的 crafty.js 项目中,我使用了一个精灵作为背景图像,但它呈现在其他精灵之上。我该如何解决?主场景代码如下:

0 投票
3 回答
2163 浏览

craftyjs - 如何使用 Craftyjs 通过鼠标交互使动画精灵移动?

我有一个使用 Craftyjs 编写的 HTML5 画布游戏。我使用箭头键可以正常进行键盘交互,但在添加鼠标交互时遇到问题。精灵确实会随着鼠标轻微移动,但与使用箭头键的方式不同,当它碰到另一个组件时,它似乎会崩溃。我在组件中添加了一个函数来处理不起作用的鼠标交互,因此它被注释掉了。这是我的精灵组件的代码;

这是天使在场景中实例化的代码。我向它添加了一个绑定函数来尝试使鼠标交互工作,但这不能正常工作。

这是游戏的链接;

http://users.aber.ac.uk/rig6/achievement_unlocked/index.html

我已经尝试了所有方法,但在网上找不到对此有帮助的示例。请问有人可以帮忙吗?

0 投票
1 回答
589 浏览

javascript - Calling a function or focusing a programmatically generated Iframe from an HTML5 canvas

I have an HTML5 canvas controlled and generated by a library of JavaScript files (Craftyjs library mostly).
The canvas generates 2 regular html iframes (same domain) which are stacked on top of each other.
The canvas switches between the two iframes based on calls from the iframes to the parent so I know the code controlling the canvas is easily accessed by their common parent.

I want the parent canvas to either call a function in the iframes to have them focus on a specific element in them or to somehow just have the iframes get focus in general.
I would also prefer to not have to constantly reload/recreate the iframes to get focus.

These are things I have tried to get to work
When it doesn't throw an error it doesn't do anything in chrome or FireFox.
(Object [object global] has no method 'focusThis') is a common error

Any help would be greatly appreciated.

0 投票
1 回答
821 浏览

javascript - 基本的狡猾游戏填满移动设备的整个屏幕

我正在尝试 Crafty.js 来做一些基本的游戏,它在桌面浏览器上完美运行,但在移动设备上填满了整个屏幕。这是我的网页:

最后是我的游戏(homegame.js):

我尝试使用视口元标记,但没有奏效 此外,crafty.js 网站上的入门游戏在移动设备上也有同样的问题:http: //buildnewgames.com/assets/article//introduction-to-crafty /tut_bng/index.html

任何想法如何解决它?

0 投票
2 回答
277 浏览

javascript - 测量时间流逝的脚本?

我目前正在使用 Crafty 为班级开发一个小游戏,而我们的游戏需要时间的流逝。为了给出上下文,这是一个类似电子宠物的游戏,玩家控制一个生物并在需要时喂养它、梳理它等,所以我们需要测量诸如“每五分钟生物会饿”之类的时间或“经过一定时间(比如 20 分钟),该生物将因自然原因死亡,游戏将结束”。我的问题是我不确定解决此问题的最佳方法是什么。我应该使用 setInterval 吗?设置超时?我自己的计时器课?我不知道此类实例最常见的解决方案是什么。到目前为止,我已经尝试了前两个选项,但没有成功。

我还尝试寻找时间的任何狡猾的功能;我能找到的最接近的是 Crafty.bind("EnterFrame", function() { ... }),所以我可以逐帧“操纵”时间,但这也不起作用。提前致谢。

0 投票
1 回答
529 浏览

html - 用于 Html5 的游戏引擎

我正在尝试使用 Html5 为移动应用程序(iphone/Android)开发游戏。请建议使用哪个 html5 游戏引擎。我找到了 Crafty and Impact 游戏引擎

在此处输入链接描述

在此处输入链接描述

它是否会支持所有手机?或任何其他适用于手机的 html5 游戏引擎?

需要支持精灵动画,精灵之间的碰撞,Touch,accolometer,onPause & onResume 的工具...

0 投票
2 回答
2930 浏览

node.js - socket.io 数据似乎被多次发送(nodejs 和craftyjs)

我正在关注制作 HTML5 游戏的本教程。我想尝试混合节点以使其成为多人游戏。我在服务器上使用 node.js(v0.10.4),在前端使用crafty.js。

我正在使用 socket.io 发送和接收消息。现在只有我(不是多个客户)。发生的奇怪事情是来自服务器的消息似乎被发送了多次。我在 socket.io 中打开了调试模式,但它似乎只发送了一次数据,但在前端,数据似乎是多个进来的。我在数据上设置了一个增量器,似乎增量器没有多次增量,而是我得到了相同数据的多个副本。

这是节点代码:

这是前端代码:

最后,这是调试过程中的屏幕截图。正如您所看到的,数字并不总是在递增,它看起来就像是数据正在被存储。谢谢!

http://cl.ly/image/0i3H0q2P1X0S

0 投票
1 回答
178 浏览

javascript - RequireJS 一些(不是全部)函数是未定义的

我不确定那里的任何人都可以对此提供帮助,但是可以。我目前正在重构我正在使用CraftyJS(一个优秀的基于组件的游戏引擎)编写的游戏以使用 RequireJS。一切都很顺利,但突然间我遇到了障碍。我构建了一个模块,在其中定义了一个小的 Crafty 组件,它基本上只是事件监听的瓶颈。在其中一个回调中,我调用了本地模块中定义的几个函数。我在许多情况下都在 RequireJS 中使用过这种模式,而且它总是对我有用。出于某种原因,在这种情况下,一些函数是未定义的。不是所有的人。一些。这是一些代码:

组件:

对于那些不熟悉 Crafty 的人,Crafty.c创建一个以后可以实例化的组件。作为第二个参数传递的对象字面量将被附加(扩展?)到任何包含TurnStateMachineObserver作为其组件之一的对象(即使用Crafty.e("TurnStateMachineObserver"))。

组件内部使用的函数稍后在同一个文件中定义(整个文件包含在一个define()调用中):

现在,当POST+PHASE_CHANGE事件被触发时,在调用 时会抛出异常nextPhase(),但不会在调用currentPhase()! 经过一些调试,我确定,事实上,虽然模块中定义的所有函数在define()第一次进入正文时都已正确定义,但其中大部分在组件的回调中未定义。事实上,当组件被实例化时

init函数(模块返回)nextPhase()中定义了,但如果我进入_observer.startListening(),它不是,虽然currentPhase()是。啊!我正在把我剩下的头发拉到这个上面。让我真正感到困惑的是这些函数是兄弟姐妹。如何定义更高范围的某些功能而没有定义其他功能?!