| 2.x (舊) | 3.x (新) | 說明 |
|---|---|---|
CCLabelTTF | cc.Label (或 ccui.Text) | 統一 cc 命名空間,移除 CC 前綴 |
CCScene | cc.Scene | 同上 |
CCLayer | cc.Layer (常用 cc.Node 替代) | Layer 非必需,Node 即可作容器 |
CCDirector:sharedDirector() | cc.Director:getInstance() | 單例獲取方式統一 |
ccp(x,y) | cc.p(x,y) | 工具函數命名空間化 |
runWithScene | runWithScene (同名) | 參數類型為 cc.Scene |
local label = cc.Label:createWithSystemFont("Hello Lua", "Courier", 50)
label:setPosition(cc.p(300, 300))
local scene = cc.Scene:create()
local layer = cc.Layer:create() -- 或直接用 scene 作為容器
scene:addChild(layer)
layer:addChild(label)
cc.Director:getInstance():runWithScene(scene)
tolua++ 自動生成綁定,需運行 tools/tolua/generate_lua_binding.py 更新 lua_cocos2dx_auto.hpp/cpp。require "cocos.init" 加載核心模塊,require "cocos.ui" 加載 UI 擴展。node:registerScriptHandler(function(event) ... end) 替換舊 onEnter/onExit。CC → cc.、ccp → cc.p。
3. 重點測試場景切換、觸摸事件、物理碰撞、內存洩漏。
4. 使用 cocos console 命令行工具構建、部署、調試。
遵循命名空間統一、API 現代化、模塊化加載三大原則,Cocos2d-x 3.x Lua 遷移可控、高效。