/*

场景一lua代码

*/

require "MainScene02"

local dic_size = CCDirector:sharedDirector():getWinSize()

local win_w = dic_size.width

local win_h = dic_size.height



local  cclog = function(...)

     print(string.format(...))

end



function MainScene_01()

    

    local self = CCLayer:create()

    

    -- click btn

    local function clickMenu_scene()

        --切换场景<特效>

        local fadeClipX = CCTransitionFlipX:create(1,_main02())

        CCDirector:sharedDirector():replaceScene(fadeClipX)

        

    end

    --初始化相关场景元素

    local function init()

        

        cclog("....this is init thing......")

        -- put a bg pic

        local pSrite = CCSprite:create("bg_store.png")

        pSrite:setPosition(ccp(win_w/2, win_h/2))

        pSrite:setScaleX(win_w/pSrite:getContentSize().width)

        self:addChild(pSrite)

        

        

        -- create a Button Menu

        local btn  = CCMenuItemImage:create("btn_store_normal.png", "btn_store_selected.png")

        btn:setPosition(ccp(win_w/2, win_h/2))

        btn:registerScriptTapHandler(clickMenu_scene)--加入button点击触发事件

        local btn_menu = CCMenu:createWithItem(btn)

        btn_menu:setPosition(ccp(0,0))

        self:addChild(btn_menu)

        

    end

    

    init()--get init method

    

    return self

end



function _main01()

    local scene = CCScene:create()

    scene:addChild(MainScene_01())

    local dic = CCDirector:sharedDirector()

    dic:setDisplayStats(false)

    -- CCEGLView:sharedOpenGLView():setDesignResolutionSize(960,480, kResolutionShowAll)

    -- CCEGLView:sharedOpenGLView():setDesignResolutionSize(480, 800, kResolutionShowAll)

    dic:runWithScene(scene)

end

_main01()--调用方法

/*

场景二lua代码

*/

local dic_size = CCDirector:sharedDirector():getWinSize()

local win_w = dic_size.width

local win_h = dic_size.height



--初始化第二个场景的层元素

local function MainScene_02()



local layer = CCLayer:create()

local cclog = function (...)

    print(string.format(...))

end

--点击button触发的方法

local function clickMainScene02_pop()

    cclog("this is clicked ".."btn 02")

    local fins = layer:getChildByTag(100)

    fins:setVisible(true)

    

end



cclog("这是在切换新的场景。。

。。。。

。")

--创建层

--local layer = CCLayer:create()

--初始化场景的各个元素

local function inits()

    --初始化第二个场景的背景

    local bgSprite = CCSprite:create("bg_mainmenu.png")

    bgSprite:setPosition(ccp(win_w/2, win_h/2))

    bgSprite:setScaleX(win_w/bgSprite:getContentSize().width)

    layer:addChild(bgSprite)

    --加入button

    local popMenu = CCMenuItemImage:create("menu1.png","menu1.png")

    popMenu:registerScriptTapHandler(clickMainScene02_pop)

    popMenu:setScale(2)

    popMenu:setPosition(ccp(win_w/2, win_h/2))

    local okMenu = CCMenu:createWithItem(popMenu)

    okMenu:setPosition(ccp(0,0))

    layer:addChild(okMenu)

    local showSp = CCSprite:create("menu2.png")

    showSp:setTag(100)

    showSp:setAnchorPoint(ccp(0,0))

    showSp:setPosition(ccp(win_w/2, win_h/2))

    showSp:setVisible(false)

    layer:addChild(showSp)

    

end



inits()

--[[

 处理触碰事件

 onTouchBegan

 onTouchMoved

 onTouchEnded

 ]]

local function onTouchBegan()

    

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

    layer:getChildByTag(100):setVisible(false)



    return true

end



local function onTouchMoved()

    cclog("onTouchMoved")

end

local function onTouchEnded()

    cclog("onTouchEnded")

    --随意触碰时 将菜单隐藏

    layer:getChildByTag(100):setVisible(false)

end



local function onTouch(eventTye,x,y)

    if eventType == "began" then

        return onTouchBegan(x,y)

        elseif eventType == "moved" then

        return onTouchMoved(x,y)

        else

        return onTouchEnded(x,y)

    end

    

end

--注冊触碰事件

layer:setTouchEnabled(true)

layer:registerScriptTouchHandler(onTouch)







return  layer

end



function _main02()

local sc02 = CCScene:create()

sc02:addChild(MainScene_02())

return sc02

end

Cocos2d-x-lua游戏两个场景互相切换MainScene01切换到MainScene02的更多相关文章

  1. 第一个Cocos2d-x Lua游戏

    我们的编写的第一个Cocos2d-x Lua程序,命名为HelloLua,从该工程开始学习其它的内容.创建工程我们创建Cocos2d-x Lua工程可以通过Cocos2d-x提供的命令工具cocos实 ...

  2. Cocos 2d-X Lua 游戏添加苹果内购(二) OC和Lua交互代码详解

    这是第二篇 Cocos 2d-X Lua 游戏添加苹果内购(一) 图文详解准备流程 这是前面的第一篇,详细的说明了怎样添加内购项目以及填写银行信息提交以及沙盒测试员的添加使用以及需要我们注意的东西,结 ...

  3. 【Cocos2D研究院之游戏开发】

    http://www.xuanyusong.com/archives/category/ios/cocos2d_game 分类目录归档:[Cocos2D研究院之游戏开发]   201211-19 Co ...

  4. lua游戏开发实践指南学习笔记1

    本文是依据lua游戏开发实践指南做的一些学习笔记,仅用于继续自己学习的一些知识. Lua基础 1.  语言定义: 在lua语言中,标识符有非常大的灵活性(变量和函数名),只是用户不呢个以数字作为起始符 ...

  5. 【Cocos游戏实战】功夫小子第七课之游戏主功能场景逻辑功能和暂停功能场景的分析和实现

    CSDN的markdown编辑器是吃屎了么! !.什么玩意.!写了一半写不了东西还全没了,搞个毛线! 本节课的视频教程地址是:第七课在此 假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊成 ...

  6. 【转】 [Unity3D]手机3D游戏开发:场景切换与数据存储(PlayerPrefs 类的介绍与使用)

    http://blog.csdn.net/pleasecallmewhy/article/details/8543181 在Unity中的数据存储和iOS中字典的存储基本相同,是通过关键字实现数据存储 ...

  7. lua中,两种json和table互转方法的效率比较

    lua中json和table的互转,是我们在平时开发过程中经常用到的.比如: 在用lua编写的服务器中,如果客户端发送json格式的数据,那么在lua处理业务逻辑的时候,必然需要转换成lua自己的数据 ...

  8. Lua游戏逆向及破解方法介绍

    Lua游戏逆向及破解方法介绍   背景介绍 随着手游的发展,越来越多的Cocos-lua端游开发者转移到手游平台.Lua脚本编写逻辑的手游也是越来越多,如梦幻西游.刀塔传奇.开心消消乐.游龙英雄.奇迹 ...

  9. LUA脚本调用C场景,使用C API访问脚本构造的表

    LUA调用C lua解析中集成了一些系统服务, 故脚本中可以访问系统资源, 例如, lua脚本可以调用文件系统接口, 可以调用数学库, 但是总存在一些lua脚本中访问不到的系统服务或者扩展功能, 如果 ...

随机推荐

  1. 【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)(转)

    书上示例 在第一章<基本套接字>中,作者给出了一个TCP Socket通信的例子——反馈服务器,即服务器端直接把从客户端接收到的数据原原本本地反馈回去. 书上客户端代码如下: 1 2 3 ...

  2. 基于visual Studio2013解决面试题之1105字符串压缩

     题目

  3. 基于visual Studio2013解决C语言竞赛题之1011对称

         题目 解决代码及点评 /* 11. 判断一个给定的5×5方阵是否以第3列为轴线对称? */ #include <stdio.h> #include <s ...

  4. SIX GOD

    SIX GOD是什么意思呢.?_百度知道 SIX GOD

  5. CorePlot学习零---安装

    刚開始接触CorePlot时,网上搜到非常多相关文章,解说怎样安装这个第三方库,到眼下阶段该库的版本号已经到了1.5了,可是在github上你能够看到他的安装方法,只是为啥就没有codpod来安装呢? ...

  6. CheckBox in ListView

    CheckBox in ListView Listview 在android中是经常用的组件,一些特殊情况下,系统提供的list view item 不够用, 不能满足需求,那么就需要自定义listV ...

  7. Winform - TreeView控件,只展开根目录

    TreeNode类型是有Expand和ExpandAll这两个方法.而Treeview是只有ExpandAll的,想要展开根目录下面的节点的话 //只展开根目录 ) ].Expand();

  8. linux命令: sort

    参考 linux sort 命令详解 http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html 1 sort的工作原理 sort将文 ...

  9. Windows 8 动手实验系列教程 实验7:磁贴和通知

    动手实验 实验7:磁贴和通知 2012年9月 简介 磁贴是Windows应用商店应用用户体验的重要元素.当应用程序被安装后,它的磁贴将在Windows 8开始屏幕被创建.该磁贴(称为主磁贴)作为启动应 ...

  10. PDCA模型的学习

    PDCA是广泛应用于质量控制中的一种管理学模型. P即plan,分析和了解当前的状况,然后作出改进的计划: D即do,执行所作出的计划: C即check,对执行的结果进行检查,要确认哪些是对的,哪些是 ...