问题标签 [limejs]
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.
google-closure - 使用 LimeJS 在我的 .js 文件中获取“b 未定义”
我正在尝试使用 javascript 编译文件,但我得到“b 未定义”,因为我使用它启动了应用程序。我真的不知道它是从哪里来的。
我再次从 LimeJS 中删除了 et init,更新了部门。问题还在。。
任何想法?
javascript - 石灰JS循环动画不显示
我在 LimeJS 中有一个循环动画:
但是,当我使用此代码时,屏幕上不会显示任何内容。
如果我自己使用动画:
它工作正常。我在这里做错了什么?
loops - LimeJS 动画。序列未完成
我有一个关于我的动画的问题。Sqeuence。只有第一个序列元素正在执行。第二个被忽略。我希望 Sprite spell_1 移动到英雄(hero_x_exact,hero_y_exact),然后移动到目的地。每个元素都可以正常工作,但不能在序列中工作。
javascript - LimeJS 上的 GUI 层
我正在与limeJS 合作,试图找出将GUI 放在limeJS 上的最佳方法。这是一个更好的解释:
我创建了两个类,一个叫做“SceneWithGui”,另一个叫做“GuiOverlay”。我的意图是“SceneWithGui”继承自“lime.Scene”,添加一个属性和两个方法:
- guiLayer(这是一个 GuiOverlay 对象)
- setGuiLayer
- 获取GuiLayer
如下:
'GuiOverlay' 的目的是让它保持 DOM 元素,当场景或导演调整大小时,它也会。对于它,我只是从“lime.Node”继承而来,希望它已经设置好了。我的代码:
这基本上就是所有的想法。为了更好地可视化,这里有一个示例使用:
这一切在代码上看起来都很漂亮,但它只是不起作用(场景甚至不再显示)。以下是我通过 Chrome 控制台遇到的错误:
未捕获的类型错误:无法读取未定义的 director.js:301 的属性“样式”
未捕获的类型错误:无法读取未定义的属性“transform_cache_”
我在 JS 方面并没有真正的经验,所以我发现的唯一线索是当 'tictacawesome.menuscreen' 到达 'goog.base(this)' 时会发生这种情况。
更新:在弄乱了代码之后,我能够解决我以前遇到的问题(在此编辑之前),现在我偶然发现了上面引用的问题。当它到达directior.js:301
时,线是scene.domElement.style['display']='none';
。scene
存在,但scene.domElement
不存在。我是否以某种方式用我的 guiOverlay 搞砸了 domElement?
有任何想法吗?我的设计有什么明显的缺陷吗?我在正确的道路上吗?
谢谢。
javascript - WIKI:如何使用 Lime(如何将闭包编译器与 3rd 方(闭包)库一起使用)
下面的帖子启发了我看一下limeJS,作为一个我正在开发和关闭Yatzee游戏(大部分是关闭)的辅助项目,并认为这可能是一个不错的库。
作为 google-closure 的初学者,我在运行未编译代码和编译代码时遇到了一些困难,主要是由于不知道选项和命令是什么以及依赖关系。
对于其他使用 google-closuse 的初学者,我已经编写了本教程。
请注意,您的闭包编译代码可以使用 jQuery,但您需要 jQuery externs 文件。你不能将 jQuery 编译到你的代码中,闭包库有一个可以在 third_party 中找到的简化的 dojo。使用它时,您可以将代码编译为一个文件。
你需要什么:
- Python
- Git客户端
- 用于编译代码的闭包编译器(将所有文件缩小并合并为一个)
- 闭包库,如 jQuery 和 jQuery ui,但可以与您的代码一起编译
- Python(我使用 2.7)
- LimeJS 作为第 3 方库(使用 git 客户端获取,网址:https ://github.com/digitalfruit/limejs.git )
- JAVA JRE
目录结构
我正在使用 Windows 并将我的项目放在 D:\projects 中,如果您在其他地方有项目,则必须将 D:\projects 引用替换为您自己的。
在 D:\projects 我在该目录中创建了一个名为 libraries 的目录我从闭包库中复制 goog 和 third_party 目录(goog 在闭包目录下),因为您将在许多项目中使用它们我将它保存在项目根目录中,您可以在您创建的每个项目中包含它的副本,但在这种情况下,我将在所有项目之间共享该库。
现在我将 src 目录的内容从limeJS ([lime clone dir]\lime\src) 复制到 D:\projects\libraries\lime(包含名为动画、音频...的子目录的目录)。
接下来我将使用来自limeJS 库的现有项目,将[lime clone dir]\lime\demos\roundball 复制到D:\projects\roundball
这时候你的目录结构应该是这样的:
- 丁:
- 项目
- 图书馆
- 古格
- 酸橙
- 动画
- 声音的
- css
- ...
- 第三者
- 关闭
- ...
- 关闭
- 圆球
- 资产
- ...其他圆球的东西
- 图书馆
- 项目
卡迪普斯.py
当您打开 D:\projects\roundball\rb.html 并检查控制台(在 Chrome 或 FireFox 中按 F12 最好安装了 firebug 插件)时,您会看到一个错误:“ReferenceError: goog is not defined”
打开 D:\projects\roundball\rb.html 并更改:
至
现在,当您再次打开 rb.html 时,您会得到一个不同的错误:“goog.require 找不到:lime.Director”
这是因为闭包使用 deps.js 来查找依赖项,并且由于石灰不在其中,因此无法找到它。幸运的是,在闭包库的 bin 目录中有一个名为 calcdeps.py 的工具可以为我们创建这个文件。它会查看您的代码并使用 goog.require 来确定需要哪些其他文件。如果您的文件结构良好,则此工具会找到它。
它将期望 Director 位于一个名为lime 的目录中的一个名为director.js 的文件中(确实如此)。该 js 文件应该有一个 goog.provide 语句,提供lime.Director。
您可以为 calcdeps.py 添加目录以使用--path参数进行查看。
在 D:\projects\roundball 中,我将创建一个包含以下内容的 makedeps.bat:
未编译的代码使用 /goog/deps.js 加载依赖项。caclcdeps.py 将检查以 rb.js 开头的代码(因为这是代码的起点),并根据项目使用的内容将条目添加到 deps.js。
再次,可以在闭包库的 bin 目录中找到 cacldeps.py。
请注意,当您有另一个项目时;假设 D:\projects\project2 那么您必须在该项目目录中创建一个 makedeps.bat 来重新为您创建 deps.js,然后才能运行未编译的代码。这是因为多个项目共享一个 google 闭包库,因此当您切换项目时,请确保在运行未编译的代码之前先构建 deps.js。
解决缺失的依赖
打开 rt.html 我们仍然得到一个错误,但另一个错误:错误:“Lime.css 的未定义 nameToPath”
查看 goog/deps.js 我们可以发现lime需要lime.css,但在deps.js中没有条目。为什么是这样?查看 D:\projects\libraries\lime 没有 css 目录或 css.js 文件。但是在您克隆 gitlime 项目的目录中,有一个名为 css 的目录。
将 css 目录复制到 D:\projects\libraries\lime 并再次运行 makedeps.bat,现在当您打开 rt.html 时它将运行。
整个事情是未编译的,您可以设置断点以进入 3rd 方代码。
编译你的代码
在生产中,您可能希望将代码编译为一个文件。为了编译代码,我在 D:\projects\roundball 中创建了一个 compile.bat,其内容如下:
文件 compiler.jar 可以在你下载(和提取)闭包编译器的地方找到
现在,当您运行 compile.bat 并打开 D:\projects\roundball\compiled\roundball.html 时,您将在浏览器的开发人员工具中看到仅加载了 roundball.js。
javascript - LimeJs box 和 domElement 在同一层输入
我想使用 LimeJs 创建一个 html 小游戏。
目前我想创建一个 ui 测试。我正在创建一个聊天框。我对输入(DomElement)和框(CanvaElement)有一些问题。
我将一个输入和一个框放在位置 0;0 的图层中。我遇到的问题之一是输入与框不在同一位置。
我想用输入和框拖动我的图层。如果我使用 goog.events.listen,我不能使用文本框。我怎样才能做到这一点 ?
您是否知道任何其他与 LimeJs 兼容的用于创建 UI 的库?
代码:
goog.exportSymbol('test_ui.start', test_ui.start);
box2d - Box2d revolute 加入 LimeJS
很抱歉这个无聊的问题,我是 LimeJS/Box2d 的新手。
我正在尝试在 LimeJS 中构建一个 BOX2d Revolute 关节。有人可以为我提供一个简单的例子来说明这一点吗?
谢谢
database - 在 LimeJS 中与数据库通信
将变量从数据库加载到我的游戏中的正确方法是什么?
我尝试使用 Ajax 和 Prototype 库,但这似乎不起作用。这是我所做的:
在我的主要 .js 游戏文件中......
'load_vocab.php' 看起来像这样......
goog 库是否有一些内置的方法来处理这个问题?
html - Lime js 游戏在 iPad 上运行良好,但在 Firefox 中运行不畅
我有一个用 Lime JS 编写的 HTML5 游戏,它在 iPad 上运行良好且流畅,但在 Firefox 上运行不流畅(在我认为比 iPad 更强大且显卡更好的电脑上运行),每隔几秒钟,动画就会跳跃或断断续续。
游戏在 PC 上以 60FPS 运行,在 iPad 上以 30FPS 左右运行。
有太多代码要粘贴,但总的来说有没有人遇到过这个问题,或者有什么好的方法来调试这个问题?
谢谢
python - 关闭的limejs int step安装问题
我已经在 Windows 7 上安装了 gitbash。
我安装了 Python,还添加了 C:/python33 的环境路径
克隆limejs后。当输入来自limejs 基础的第三步时。https://github.com/digitalfruit/limejs
我收到以下错误。