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

0 投票
1 回答
205 浏览

google-closure - 使用 LimeJS 在我的 .js 文件中获取“b 未定义”

我正在尝试使用 javascript 编译文件,但我得到“b 未定义”,因为我使用它启动了应用程序。我真的不知道它是从哪里来的。

我再次从 LimeJS 中删除了 et init,更新了部门。问题还在。。

任何想法?

0 投票
1 回答
244 浏览

javascript - 石灰JS循环动画不显示

我在 LimeJS 中有一个循环动画:

但是,当我使用此代码时,屏幕上不会显示任何内容。

如果我自己使用动画:

它工作正常。我在这里做错了什么?

0 投票
1 回答
360 浏览

loops - LimeJS 动画。序列未完成

我有一个关于我的动画的问题。Sqeuence。只有第一个序列元素正在执行。第二个被忽略。我希望 Sprite spell_1 移动到英雄(hero_x_exact,hero_y_exact),然后移动到目的地。每个元素都可以正常工作,但不能在序列中工作。

0 投票
1 回答
583 浏览

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?

有任何想法吗?我的设计有什么明显的缺陷吗?我在正确的道路上吗?

谢谢。

0 投票
1 回答
1212 浏览

javascript - WIKI:如何使用 Lime(如何将闭包编译器与 3rd 方(闭包)库一起使用)

下面的帖子启发了我看一下limeJS,作为一个我正在开发和关闭Yatzee游戏(大部分是关闭)的辅助项目,并认为这可能是一个不错的库。

作为 google-closure 的初学者,我在运行未编译代码和编译代码时遇到了一些困难,主要是由于不知道选项和命令是什么以及依赖关系。

对于其他使用 google-closuse 的初学者,我已经编写了本教程。

请注意,您的闭包编译代码可以使用 jQuery,但您需要 jQuery externs 文件。你不能将 jQuery 编译到你的代码中,闭包库有一个可以在 third_party 中找到的简化的 dojo。使用它时,您可以将代码编译为一个文件。

你需要什么:

  1. Python
  2. Git客户端
  3. 用于编译代码的闭包编译器(将所有文件缩小并合并为一个)
  4. 闭包库,如 jQuery 和 jQuery ui,但可以与您的代码一起编译
  5. Python(我使用 2.7)
  6. LimeJS 作为第 3 方库(使用 git 客户端获取,网址:https ://github.com/digitalfruit/limejs.git )
  7. 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。

0 投票
0 回答
215 浏览

javascript - LimeJs box 和 domElement 在同一层输入

我想使用 LimeJs 创建一个 html 小游戏。

目前我想创建一个 ui 测试。我正在创建一个聊天框。我对输入(DomElement)和框(CanvaElement)有一些问题。

我将一个输入和一个框放在位置 0;0 的图层中。我遇到的问题之一是输入与框不在同一位置。

我想用输入和框拖动我的图层。如果我使用 goog.events.listen,我不能使用文本框。我怎样才能做到这一点 ?

您是否知道任何其他与 LimeJs 兼容的用于创建 UI 的库?

代码:

goog.exportSymbol('test_ui.start', test_ui.start);

0 投票
1 回答
94 浏览

box2d - Box2d revolute 加入 LimeJS

很抱歉这个无聊的问题,我是 LimeJS/Box2d 的新手。

我正在尝试在 LimeJS 中构建一个 BOX2d Revolute 关节。有人可以为我提供一个简单的例子来说明这一点吗?

谢谢

0 投票
1 回答
201 浏览

database - 在 LimeJS 中与数据库通信

将变量从数据库加载到我的游戏中的正确方法是什么?

我尝试使用 Ajax 和 Prototype 库,但这似乎不起作用。这是我所做的:

在我的主要 .js 游戏文件中......

'load_vocab.php' 看起来像这样......

goog 库是否有一些内置的方法来处理这个问题?

0 投票
0 回答
157 浏览

html - Lime js 游戏在 iPad 上运行良好,但在 Firefox 中运行不畅

我有一个用 Lime JS 编写的 HTML5 游戏,它在 iPad 上运行良好且流畅,但在 Firefox 上运行不流畅(在我认为比 iPad 更强大且显卡更好的电脑上运行),每隔几秒钟,动画就会跳跃或断断续续。

游戏在 PC 上以 60FPS 运行,在 iPad 上以 30FPS 左右运行。

有太多代码要粘贴,但总的来说有没有人遇到过这个问题,或者有什么好的方法来调试这个问题?

谢谢

0 投票
1 回答
732 浏览

python - 关闭的limejs int step安装问题

我已经在 Windows 7 上安装了 gitbash。

我安装了 Python,还添加了 C:/python33 的环境路径

克隆limejs后。当输入来自limejs 基础的第三步时。https://github.com/digitalfruit/limejs

我收到以下错误。