cocos2dx 3.1.x lua mvc代码修改成官方代码示例

来源:互联网 发布:nba2konline作弊软件 编辑:程序博客网 时间:2024/06/03 12:28

当前最新cocosdx的版本是3.1.5,新建的项目是mvc架构,而cocos官方提供的代码示例却不是mvc架构,感觉有点鸡肋,不好学习。所有我们直接把他修改成代码示例的样子,不用提供的mvc架构。

步骤1,修改AppDelegate.cpp中的applicationDidFinishLaunching函数,在85行

if (engine->executeScriptFile("main.lua")){    return false;}

修改为

engine->executeString("require 'main.lua'");

步骤2,修改整个main.lua文件,原来的全删掉,把下面代码复制进去

-- CC_USE_DEPRECATED_API = truerequire "cocos.init"-- cclogcclog = function(...)    print(string.format(...))end-- for CCLuaEngine tracebackfunction __G__TRACKBACK__(msg)    cclog("----------------------------------------")    cclog("LUA ERROR: " .. tostring(msg) .. "\n")    cclog(debug.traceback())    cclog("----------------------------------------")endlocal function initGLView()    local director = cc.Director:getInstance()    local glView = director:getOpenGLView()    if nil == glView then        glView = cc.GLViewImpl:create("Lua Empty Test")        director:setOpenGLView(glView)    end    director:setOpenGLView(glView)    glView:setDesignResolutionSize(480, 768, cc.ResolutionPolicy.NO_BORDER)    --turn on display FPS    director:setDisplayStats(true)    --set FPS. the default value is 1.0/60 if you don't call this    director:setAnimationInterval(1.0 / 60)endlocal function main()    -- avoid memory leak    collectgarbage("setpause", 100)    collectgarbage("setstepmul", 5000)    initGLView()    local visibleSize = cc.Director:getInstance():getVisibleSize()    local origin = cc.Director:getInstance():getVisibleOrigin()    -- create farm    local function createLayerFarm()        local layerFarm = cc.Layer:create()        -- add in farm background        local bg = cc.Sprite:create("HelloWorld.png")        bg:setPosition(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 2)        layerFarm:addChild(bg)        return layerFarm    end    -- run    local sceneGame = cc.Scene:create()    sceneGame:addChild(createLayerFarm())    cc.Director:getInstance():runWithScene(sceneGame)endxpcall(main, __G__TRACKBACK__)

修改完成,可以直接运行啦,不用再按所谓的mvc框架写代码啦