Corona学习之composer<1>

Composer是Corona SDK官方指定的场景(界面)创建和管理库。这个库为开发者提供了创建场景(界面)以及场景(界面)间切换的简单方式。

Composer库中最基本的对象是scene对象,这是一个可以对特定事件作出回应的事件监听器,它包含了一个独特的self.view属性,该属性就是与场景相关联的display group的一个索引。你应当将属于场景的可视化元素添加到self.view中。

看下面的场景模板来了解下场景文件是如何构建的。下面的模板可以被用来创建新的场景文件,注意:这个模板包括了监听场景中所有潜在事件的函数,但是你只需要包含想要处理的事件的监听函数。

local composer = require( "composer" )
local scene = composer.newScene()

-- "scene:create()"
function scene:create( event )

    local sceneGroup = self.view

    -- 在这里初始化场景.
    -- 例如:添加展示对象到`sceneGroup`中,添加触摸监听器,等。

-- "scene:show()"
function scene:show( event )

    local sceneGroup = self.view
    local phase = event.phase

    if ( phase == "will" ) then
        -- 场景仍然没在屏幕上时会调用(但是即将会出现在屏幕上).
    elseif ( phase == "did" ) then
        -- 场景出现在屏幕上时调用.
        -- 在这里插入代码来让场景生动.
        -- 例如:开启定时器,开始动画,播放音乐等
    end
end

-- "scene:hide()"
function scene:hide( event )

    local sceneGroup = self.view
    local phase = event.phase

    if ( phase == "will" ) then
        -- 场景仍然在屏幕上时调用 (但是即将离开屏幕).
        -- 在这里插入代码让场景"停止"工作.
        -- 例如:停止定时器,停止动画,停止音乐等。
    elseif ( phase == "did" ) then
        -- 场景离开屏幕时调用.
    end
end

-- "scene:destroy()"
function scene:destroy( event )

    local sceneGroup = self.view

    -- 在移除场景的视图("sceneGroup")之前调用
    -- 在这里插入代码来清理场景.
    -- 例如:移除显示对象,保存状态等
end


-- 设置事件监听器
scene:addEventListener( "create", scene )
scene:addEventListener( "show", scene )
scene:addEventListener( "hide", scene )
scene:addEventListener( "destroy", scene )

return scene
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值