Corona学习之composer<1>

来源:互联网 发布:西西网络图绘制软件 编辑:程序博客网 时间:2024/05/29 18:55

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        -- 场景出现在屏幕上时调用.        -- 在这里插入代码来让场景生动.        -- 例如:开启定时器,开始动画,播放音乐等    endend-- "scene:hide()"function scene:hide( event )    local sceneGroup = self.view    local phase = event.phase    if ( phase == "will" ) then        -- 场景仍然在屏幕上时调用 (但是即将离开屏幕).        -- 在这里插入代码让场景"停止"工作.        -- 例如:停止定时器,停止动画,停止音乐等。    elseif ( phase == "did" ) then        -- 场景离开屏幕时调用.    endend-- "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 0
原创粉丝点击