加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx 在 Mac 下创建 lua 工程总结

发布时间:2020-12-14 17:25:43 所属栏目:百科 来源:网络整理
导读:本文搭建环境:Xcode v-8.3.3 + cocos2dx v-3.15 1.创建一个空项目 在 ~/cocos2dx315/cocos2d-x-3.15/tools/cocos2d-console/bin 此路径下 打开终端并运行命令 : cocos new HelloLua -p com.wwj.hellolua -l lua -d /Users/xxx/Desktop/TestArea/TestLua315

本文搭建环境:Xcode v-8.3.3 + cocos2dx v-3.15

1.创建一个空项目

在 ~/cocos2dx315/cocos2d-x-3.15/tools/cocos2d-console/bin 此路径下

打开终端并运行命令 :cocos new HelloLua -p com.wwj.hellolua -l lua -d /Users/xxx/Desktop/TestArea/TestLua315

注:HelloLua 工程名 com.wwj.hellolua 包名 /Users/xxx/Desktop/TestArea/TestLua315 存放路径

创建提示信息如下:表示创建工程成功



2.Xcode 打开 HelloLua.xcodeproj 工程



层级视图如下图所示:



主入口就是 main.lua 中 的 main 函数:执行了 app 路径下的 MyApp.lua 脚本 (注:这里是用点表示路径 不是‘/’)

local function main()
    require("app.MyApp"):create():run()
end

坑1 : 在 XCode 下运行项目崩溃, 追踪到崩溃的位置为 lua_open() 函数:
// register lua module
    auto engine = LuaEngine::getInstance();
......
_state = lua_open();
纠结了很久,搜索了一些解决方案,没有解决根本问题。但是,可以正常的在真机上进行运行测试,不会产生崩溃。 (如有大侠碰到并解决此问题,望不吝赐教!!!)


3.执行自己写的 lua 脚本

在 views 下创建一个脚本文件,与 MainScene 同级,我这创建的是 LoginLayer.lua, 并写入自己的代码

local LoginLayer = class("LoginLayer",function() return cc.Scene:create() end)

function LoginLayer.create()
    local scene = LoginLayer.new()
    scene:addChild(scene:createLayer())
    return scene
end

function LoginLayer:createLayer()
    local winSize = cc.Director:getInstance():getVisibleSize()
    local layer = cc.Layer:create()
    local label = cc.Label:createWithSystemFont("123","Arial",32)
    label:setPosition(cc.p(winSize.width/2,winSize.height/2))
    layer:addChild(label)
    return layer
end

return LoginLayer


对入口函数进行修改:
local function main()
    local loginScene = require("app.views.LoginLayer"):create()
    cc.Director:getInstance():runWithScene(loginScene)
end

这样便运行出来了我们自己创建的程序:(当然,我这里为了测试,你可以写更为精彩的代码)


注意:

1.代码的写法, 为什么有的是 ' : '(冒号),有的是 ' . '(点),注意二者的区分

2.测试阶段可以使用 print(" === === ") 函数输出日志进行跟踪分析

3.重申:Xcode 运行报内存错误问题,如有解决办法,望指点一二,感激不尽!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读