Creator for Lua 1.1.3 发布

Creator for Lua 1.1.3 新版来啦,让我们撸起来!

下载地址:

Mac 版安装程序:http://cocos2d-x.org/filedown/Creator-Lua-Support-1.1.3-mac

Windows 版安装程序:http://cocos2d-x.org/filedown/Creator-Lua-Support-1.1.3-win

由于这个版本需要最新的 Creator 1.3,所以目前大家需要安装 Creator 1.3 测试版:Creator 1.3 测试版发布帖


Creator for Lua 之前的版本虽然已经支持 Creator 的大部分功能,但使用起来确实很不方便,严重影响各位撸友的频率。

经过作者回炉,新版插件做了两个强力改进来提高大家的频率和流畅度:

1. 插件直接集成在 Creator 用户界面中,点点鼠标完成 Creator 场景到 Lua 代码的转换工作。
2. 提供了自动构建功能,每次保存场景后,插件就会立即开始转换代码,妥妥的。

废话少说,我们来看看怎么安装使用插件。

> 注意,Creator for Lua 1.1 需要 Creator 1.3 版本才能工作哟。

## 安装插件

Creator for Lua 1.1 插件提供了 Windows 和 Mac 下的安装程序,执行安装程序瞬间完成安装。

然后,不好意思,没有然后了。JUST DO IT!


## 使用插件

启动 Creator,在场景里啪啪啪放一堆内容,然后选择菜单“工程 -> Lua Support -> Setup Target Project”,就可以看到目标工程设置对话框。

<img src="/uploads/default/original/2X/f/f872c08101673eb914335f7e6bd13181ef67094f.png" width="526" height="500">

在这个对话框中我们只需要做三个步骤:

1. 点击 Project Path 旁边的 “...” 按钮选择你的 Lua 工程目录;
2. 点击 Copy Support Library 按钮(**这个步骤只需要对每一个新 Lua 工程做一次**);
3. 点击 Build 按钮。

如果你还没创建 Lua 工程,可以参考下面的命令行:

```bash
$ cocos new -l lua mygame
```

构建出 Lua 代码后,我们就可以愉快的在 Lua 中显示 Creator 创建的场景了。

### 自动构建

默认情况下,并没有启用自动构建功能。所以修改场景后要更新 Lua 代码,需要重新点击 Build 按钮,或者选择菜单“工程 -> Lua Support -> Build Now”。

更省事儿的做法是在对话框中选中 “Auto Build” 选项。这样每次保存场景,就会自动更新 Lua 代码啦。


## 对 Creator 的支持程度

当前支持的特征:

-   Sprite - 精灵:图像显示
-   Canvas - 画布:主要用于自动布局
-   Widget - 部件:可以配合 Canvas 设置自动布局和各种对齐方式
-   Button - 按钮:响应玩家操作
-   EditBox - 编辑框:用于玩家输入文字
-   ParticleSystem - 粒子系统:显示粒子效果
-   TileMap - 地图:显示使用 Tiled 编辑的地图
-   Animation - 动画:仅支持帧动画
-   Label (System Font) - 文字标签:仅支持系统字体
-   Component with Lifetime events - 组件及其生命周期管理

一些控件暂时无法支持:

-   ProgressBar
-   Layout
-   ScrollView


## 后续计划

-   完善控件库,支持所有 Creator 控件。
-   在自动构建时使用增量构建,只构建修改过的场景和资源,提高工作效率。
-   完善插件,允许从插件中创建 Lua 工程,并自动设置好目标工程。
-   提供完善的使用文档。

最后,祝大家撸得轻松愉快,享受极致的娱乐体验。
4赞

支持所有Creator控件,大概还要多久

这个要看 -x 什么时候能够合并一些需要的代码。估计在下一个版本就可以实现了。

可以可以,破费~
建议后续的C++也跟lua一样,以插件的形式支持,这样后面不管用什么语言,都可以以插件形势添加支持,不管是TS什么的。

请问会有lua代码编辑和调试的插件吗,类似vs code里js编辑插件那种?

是的,c++的支持也会做成插件

赞一个,竟然支持markdown了。Creator是基于electron的么?
将来会发布基于electron的代码编辑器么

是否可以支持,把js代码直接转为lua代码

想问一下,怎么在creater创建的场景里写自己的逻辑,有没有相关的demo和文档?

这点基本无解。以前也有人问从cocos2d-iphone objc自动转cocos2d-x c++,最近有人问自动从lua转js的工具。很难搞。

1赞

木鸡游戏干过这个事情,将lua的游戏直接在浏览器里跑起来。

工作原理:

  1. 将Lua逻辑用另外一种语言还原出来,基本上是变为代码不可阅读的方式
  2. 在另外一个语言平台,构建出Lua的虚拟机,解析lua代码

貌似木鸡采用的是第二种方案,还看过他们几个游戏项目在浏览器上跑,但是最近没有听到声音了。

lua上面代码上如何读到Creator内的ui 现在只知道ui编辑器上编辑 lua代码要如何关联单个ui 并没有找到这样的文件 cocos studio 不是会生成一个ui文件。。。Creator 要读哪个文件 ?

请问,我在点击build后,发现
TypeError: Cannot read property ‘send’ of undefined
at Editor.App.spawnWorker (C:\Users\Administrator.CocosCreator\packages\creator-lua-support\main.js:41:15)
at WebContents. (C:\CocosCreator\resources\app.asar\editor\init.js:1:9960)
at emitOne (events.js:101:20)
at WebContents.emit (events.js:188:7)
at process. (C:\CocosCreator\resources\app.asar\editor\core\editor-init.js:1:199)
at emitOne (events.js:101:20)
at process.emit (events.js:188:7)
at process._fatalException (bootstrap_node.js:262:26)这一段代码报错。build的状态就一直显示在start状态。能不能指导一下?谢谢

已经修复。请从 https://github.com/cocos-creator/creator-lua/releases 下载最新的 1.1.4 版本。

creator1.3.3 lua-surport 1.1.6

点击build之后报如下异常:
Failed to load profile by type [object Object], please register it first.
at Object.Profile.load (/Applications/CocosCreator.app/Contents/Resources/app.asar/editor-framework/lib/main/profile.js:1:743)
at _checkProject (/Users/He/.CocosCreator/packages/creator-lua-support/main.js:58:34)
at _copyLibrary (/Users/He/.CocosCreator/packages/creator-lua-support/main.js:96:19)
at Object.copy-library (/Users/He/.CocosCreator/packages/creator-lua-support/main.js:142:13)
at emitTwo (events.js:106:13)
at EventEmitter.emit (events.js:191:7)
at WebContents. (/Applications/CocosCreator.app/Contents/Resources/electron.asar/browser/api/web-contents.js:209:13)
at emitTwo (events.js:106:13)
at WebContents.emit (events.js:191:7)

为什么我的点击 点击 Copy Support Library 按钮 的时候提示TypeError: Cannot read property ‘send’ of undefined

有没有人帮忙解答下啊,Setup target project 点击Copy Support Library 提示以下信息
Failed to load profile by type [object Object], please register it first.
at Object.Profile.load (C:\CocosCreator\resources\app.asar\editor-framework\lib\main\profile.js:1:721)
at _checkProject (C:\Users\aa7231890.CocosCreator\packages\creator-lua-support\main.js:58:34)
at _copyLibrary (C:\Users\aa7231890.CocosCreator\packages\creator-lua-support\main.js:96:19)
at Object.copy-library (C:\Users\aa7231890.CocosCreator\packages\creator-lua-support\main.js:142:13)
at emitTwo (events.js:106:13)
at EventEmitter.emit (events.js:191:7)
at WebContents. (C:\CocosCreator\resources\electron.asar\browser\api\web-contents.js:209:13)
at emitTwo (events.js:106:13)
at WebContents.emit (events.js:191:7)

TypeError: Cannot read property ‘data’ of null
at _checkProject (C:\Users\aa7231890.CocosCreator\packages\creator-lua-support\main.js:59:38)
at _copyLibrary (C:\Users\aa7231890.CocosCreator\packages\creator-lua-support\main.js:96:19)
at Object.copy-library (C:\Users\aa7231890.CocosCreator\packages\creator-lua-support\main.js:142:13)
at emitTwo (events.js:106:13)
at EventEmitter.emit (events.js:191:7)
at WebContents. (C:\CocosCreator\resources\electron.asar\browser\api\web-contents.js:209:13)
at emitTwo (events.js:106:13)
at WebContents.emit (events.js:191:7)
at process. (C:\CocosCreator\resources\app.asar\editor\core\editor-init.js:1:199)
at emitOne (events.js:101:20)
at process.emit (events.js:188:7)
at process._fatalException (bootstrap_node.js:262:26)

1.1.5版本for win 还是报uuid null错误,但for mac的正常

你好,请问你提的这个问题解决了么?怎样才能解决,我也没搞懂。谢谢!