Lua_速度动作

来源:互联网 发布:马尔可夫矩阵怎么算 编辑:程序博客网 时间:2024/05/20 15:10
require "Cocos2d"require "Cocos2dConstants"-- for CCLuaEngine tracebackfunction __G__TRACKBACK__(msg)    cclog("----------------------------------------")    cclog("LUA ERROR: " .. tostring(msg) .. "\n")    cclog(debug.traceback())    cclog("----------------------------------------")    return msgendlocal function main()    collectgarbage("collect")    --避免内存泄漏    collectgarbage("setpause", 100)    collectgarbage("setstepmul", 5000)        --初始化导演    local director = cc.Director:getInstance()    local glview = director:getOpenGLView()    if glview == nil then        glview = cc.GLView:createWithRect("HelloLua", cc.rect(0, 0, 960, 640))        director:setOpenGLView(glview)    end    glview:setDesignResolutionSize(960, 640, cc.ResolutionPolicy.SHOW_ALL)    --显示帧率    director:setDisplayStats(true)    --设置帧率    director:setAnimationInterval(1.0 / 60)    --增加搜索路径    cc.FileUtils:getInstance():addSearchPath("src")    cc.FileUtils:getInstance():addSearchPath("res")        --创建场景    local scene = require("GameScene")    local settingScene = scene.create()        --运行场景    if cc.Director:getInstance():getRunningScene() then        cc.Director:getInstance():replaceScene(settingScene)    else        cc.Director:getInstance():runWithScene(settingScene)    endendxpcall(main, __G__TRACKBACK__)
require "Cocos2d"require "Cocos2dConstants"-- 定义常量kEaseIn                 = 1kEaseOut                = 2kEaseInOut              = 3kEaseSineIn             = 4kEaseSineOut            = 5kEaseSineInOut          = 6kEaseExponentialIn      = 7kEaseExponentialOut     = 8kEaseExponentialInOut   = 9kSpeed                   = 10local size = cc.Director:getInstance():getWinSize()local debug = truecclog = function(...)    if debug then        print(string.format(...))    endendlocal GameScene = class("GameScene",function()    local scene = cc.Scene:createWithPhysics()    scene:getPhysicsWorld():setDebugDrawMask(cc.PhysicsWorld.DEBUGDRAW_ALL)    return sceneend)function GameScene:ctor()    self.visibleSize = cc.Director:getInstance():getVisibleSize()    self.origin = cc.Director:getInstance():getVisibleOrigin()endfunction GameScene.create()    local scene = GameScene.new()    scene:addChild(scene:createAction())    return sceneendfunction GameScene:createAction()    local layer = cc.Layer:create()    local bg = cc.Sprite:create("Background.png")    bg:setPosition(cc.p(size.width/2, size.height/2))    layer:addChild(bg)    local function OnClickMenu(tag, menuItemSender)        cclog("tag = %d", tag)        actionFlag = menuItemSender:getTag()        local scene = require("ActionScene")        local nextScene = scene.create()        local ts = cc.TransitionJumpZoom:create(1, nextScene)        cc.Director:getInstance():pushScene(ts)    end    local pItmLabel1 =  cc.Label:createWithBMFont("fonts/fnt2.fnt","EaseIn")    local pItmMenu1 = cc.MenuItemLabel:create(pItmLabel1)    pItmMenu1:setTag(kEaseIn)    pItmMenu1:registerScriptTapHandler(OnClickMenu)    local pItmLabel2 = cc.Label:createWithBMFont("fonts/fnt2.fnt", "EaseOut")    local pItmMenu2 = cc.MenuItemLabel:create(pItmLabel2)    pItmMenu2:setTag(kEaseOut)    pItmMenu2:registerScriptTapHandler(OnClickMenu)    local pItmLabel3 = cc.Label:createWithBMFont("fonts/fnt2.fnt", "EaseInOut")    local pItmMenu3 = cc.MenuItemLabel:create(pItmLabel3)    pItmMenu3:setTag(kEaseInOut)    pItmMenu3:registerScriptTapHandler(OnClickMenu)    local pItmLabel4 = cc.Label:createWithBMFont("fonts/fnt2.fnt", "EaseSineIn")    local pItmMenu4 = cc.MenuItemLabel:create(pItmLabel4)    pItmMenu4:setTag(kEaseSineIn)    pItmMenu4:registerScriptTapHandler(OnClickMenu)    local pItmLabel5 = cc.Label:createWithBMFont("fonts/fnt2.fnt", "EaseSineOut")    local pItmMenu5 = cc.MenuItemLabel:create(pItmLabel5)    pItmMenu5:setTag(kEaseSineOut)    pItmMenu5:registerScriptTapHandler(OnClickMenu)    local pItmLabel6 = cc.Label:createWithBMFont("fonts/fnt2.fnt", "EaseSineInOut")    local pItmMenu6 = cc.MenuItemLabel:create(pItmLabel6)    pItmMenu6:setTag(kEaseSineInOut)    pItmMenu6:registerScriptTapHandler(OnClickMenu)    local pItmLabel7 = cc.Label:createWithBMFont("fonts/fnt2.fnt", "EaseExponentialIn")    local pItmMenu7 = cc.MenuItemLabel:create(pItmLabel7)    pItmMenu7:setTag(kEaseExponentialIn)    pItmMenu7:registerScriptTapHandler(OnClickMenu)    local pItmLabel8 = cc.Label:createWithBMFont("fonts/fnt2.fnt", "EaseExponentialOut")    local pItmMenu8 = cc.MenuItemLabel:create(pItmLabel8)    pItmMenu8:setTag(kEaseExponentialOut)    pItmMenu8:registerScriptTapHandler(OnClickMenu)    local pItmLabel9 = cc.Label:createWithBMFont("fonts/fnt2.fnt", "EaseExponentialInOut")    local pItmMenu9 = cc.MenuItemLabel:create(pItmLabel9)    pItmMenu9:setTag(kEaseExponentialInOut)    pItmMenu9:registerScriptTapHandler(OnClickMenu)    local pItmLabel10 = cc.Label:createWithBMFont("fonts/fnt2.fnt", "Speed")    local pItmMenu10 = cc.MenuItemLabel:create(pItmLabel10)    pItmMenu10:setTag(kSpeed)    pItmMenu10:registerScriptTapHandler(OnClickMenu)        local menu = cc.Menu:create(        pItmMenu1, pItmMenu2,        pItmMenu3, pItmMenu4,        pItmMenu5, pItmMenu6,        pItmMenu7, pItmMenu8,        pItmMenu9, pItmMenu10)    menu:alignItemsInColumns(2, 2, 2, 2, 2)    layer:addChild(menu)        return layerendreturn GameScene
require "Cocos2d"require "Cocos2dConstants"local size = cc.Director:getInstance():getWinSize()local ActionScene = class("ActionScene",function()    return cc.Scene:create()end)function ActionScene:ctor()    cclog("ActionScene init")endfunction ActionScene.create()    local scene = ActionScene.new()    scene:addChild(scene:createLayer())    return sceneendfunction ActionScene:createLayer()    --速度动作    cclog("ActionScene actionFlag = %d", actionFlag)    local layer = cc.Layer:create()    local bg = cc.Sprite:create("Background.png")    bg:setPosition(cc.p(size.width/2, size.height/2))    layer:addChild(bg)    sprite = cc.Sprite:create("hero.png")    sprite:setPosition(cc.p(size.width/2, size.height/2))    layer:addChild(sprite)    local backMenuItem = cc.MenuItemImage:create("Back-up.png","Back-down.png")    backMenuItem:setPosition(cc.Director:getInstance():convertToGL(cc.p(140, 65)))    local goMenuItem = cc.MenuItemImage:create("Go-up.png","Go-down.png")    goMenuItem:setPosition(cc.Director:getInstance():convertToGL(cc.p(820, 540)))    local menu = cc.Menu:create(backMenuItem, goMenuItem)    menu:setPosition(cc.p(0, 0))    layer:addChild(menu)    local function backMenu(pSender)        cclog("ActionScene backMenu")        cc.Director:getInstance():popScene()    end    backMenuItem:registerScriptTapHandler(backMenu)    local function goMenu(pSender)        cclog("ActionScene goMenu")        local ac1 = cc.MoveBy:create(2, cc.p(200, 0))        local ac2 = ac1:reverse()        local ac = cc.Sequence:create(ac1, ac2)        if actionFlag == kEaseIn then            sprite:runAction(cc.EaseIn:create(ac, 3))        elseif actionFlag == kEaseOut then            sprite:runAction(cc.EaseOut:create(ac, 3))        elseif actionFlag == kEaseInOut then            sprite:runAction(cc.EaseInOut:create(ac, 3))        elseif actionFlag == kEaseSineIn then            sprite:runAction(cc.EaseSineIn:create(ac))        elseif actionFlag == kEaseSineOut then            sprite:runAction(cc.EaseSineOut:create(ac))        elseif actionFlag == kEaseSineInOut then            sprite:runAction(cc.EaseSineInOut:create(ac))        elseif actionFlag == kEaseExponentialIn then            sprite:runAction(cc.EaseExponentialIn:create(ac))        elseif actionFlag == kEaseExponentialOut then            sprite:runAction(cc.EaseExponentialOut:create(ac))        elseif actionFlag == kEaseExponentialInOut then            sprite:runAction(cc.EaseExponentialInOut:create(ac))        elseif actionFlag == kSpeed then            sprite:runAction(cc.Speed:create(ac, (math.random() * 5)))        end    end    goMenuItem:registerScriptTapHandler(goMenu)    return layerendreturn ActionScene



0 0