创建一个场景

1、获得屏幕尺寸的大小

size = cc.Director:getInstance():getWinSize()

2、创建一个lua场景(GameScene

   1、第一步  声明GameScene场景类  

   local GameScene = class("GameScene",function()

    return cc.Scene:create()

   end)

   2、第二步   创建场景(静态创建函数)

   function GameScene.create()

    local scene = GameScene.new()

    scene:addChild(scene:createLayer())

    return scene

   End

   3、构造函数的实现(初始化数据)

   function GameScene:ctor()

   End

   4、创建层

   function GameScene:createLayer()

     cclog("GameScene init")

     local layer = cc.Layer:create()

     local bg = cc.Sprite:create("HelloWorld.png")

     bg:setPosition(cc.p(size.width/2, size.height/2))

     layer:addChild(bg)

     return layer

   End

     5、返回场景

     最后一句记得写return GameScene

3、如何获取场景对象

    local scene = require("GameScene")

local gameScene = scene.create()

4main函数框架部分

require "Cocos2d"

--local function cclog(...)的变种(打印日志信息)

cclog = function(...)

    print(string.format(...))

end

 

--引用通知,全局变量  跟踪绑定执行函数发生错误的信息并输出

function __G__TRACKBACK__(msg)

    cclog("----------------------------------------")

    cclog("LUA ERROR: " .. tostring(msg) .. "\n")

    cclog(debug.traceback())

    cclog("----------------------------------------")

    return msg

end

 

local function main()

    --collectgarbage (opt [, arg])

--[[功能:是垃圾收集器的通用接口,用于操作垃圾收集器

  参数:

opt:操作方法标志

"Stop": 停止垃圾收集器

"Restart": 重启垃圾收集器

"Collect": 执行一次全垃圾收集循环

"Count": 返回当前Lua中使用的内存量(KB为单位)

"Step": 单步执行一个垃圾收集.步长 "Size"由参数arg指定(大型的值需要多步才能完成),如果要准确指定步长,需要多次实验以达最优效果。如果步长完成一次收集循环,将返回True

"Setpause": 设置 arg/100的值作为暂定收集的时长

"Setstepmul": 设置 arg/100的值,作为步长的增幅(即新步长=旧步长*arg/100)]]

    collectgarbage("collect")

--避免內存泄漏,设置内存回收参数

    collectgarbage("setpause", 100)

    collectgarbage("setstepmul", 5000)

 

--添加资源、运行场景,类似Cocos2dxAppDelegate

    --create scene

    local scene = require("GameScene")

    local gameScene = scene.create()

end

 

- 返回一个布尔值指示成功执行的函数以及调用失败的错误信息.另外运行函数或者错误的返回值

local status, msg = xpcall(main, __G__TRACKBACK__)

if not status then

    error(msg)

end

5、添加资源路径,比如

cc.FileUtils:getInstance():addSearchPath("src")

6、设置设计解决方案

cc.Director:getInstance():getOpenGLView():setDesignResolutionSize(960, 640, 0)

7、设置坐标或者锚点都是用cc.p,例如

label:setPosition(cc.p(size.width/2,size.height - label:getContentSize().height))

label:setAnchorPoint(cc.p(1.0, 1.0))

8、场景、层、精灵的创建

   cc.Scene:create()

   cc.Layer:create()

   cc.Sprite:create("HelloWorld.png")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值