Cocos2d-x Lua演示样例 ActionEaseTest(动作)
  本篇博客介绍Cocos2d-x中的动作,Cocos2d-x为我们提供了丰富的动作接口,以下笔者就具体介绍一下:
  本系列博客介绍的是lua的实现,想看C++实现请移步到Cocos2d-x为我们提供的样例:
 
  
  Action类继承关系图,各位能够到http://cn.cocos2d-x.org/doc/cocos2d-x-3.0/db/d61/classcocos2d_1_1_action.html进行參考:
  
  本篇博客的样例并没有涉及全部的动作,其它动作,以后的样例可能会涉及到。到时再进行说明。
  我们先看一下效果。笔者仅仅做了第一个动作的gif图,剩下的。读者能够自己运行lua-tests进行查看
本样例动作总结:
MoveBy/MoveTo: 创建一个移动的动作
EaseIn/EaseOut: 动作由慢变快/动作由快变慢
EaseInOut:动作由慢变快再由快变慢
EaseExponentialIn:动作由慢变极快
EaseExponentialOut:动作由极快变慢
EaseExponentialInOut:动作由慢至极快再由极快边慢
EaseSineIn:动作由快变慢
EaseSineOut:动作由慢变快
EaseSineInOut:精灵由慢至快再由快至慢
EaseElasticIn:让目标动作赋予弹性 ,且以目标动作起点位子赋予弹性
EaseElasticOut:让目标动作赋予弹性 。且以目标动作终点位子赋予弹性
EaseElasticInOut:让目标动作赋予弹性 ,且以目标动作起点和终点位子赋予弹性
EaseBounceIn:让目标动作缓慢開始
EaseBounceOut:让目标动作赋予反弹力。且以目标动作结束位子開始反弹
EaseBounceInOut:让目标动作赋予反弹力,且以目标动作起始与结束位子開始反弹
EaseBackIn:让目标动作赋予回力 , 且以目标动作起点位置作为回力点
EaseBackOut:让目标动作赋予回力 , 且以目标动作终点位置作为回力点
EaseBackInOut:让目标动作赋予回力 , 且以目标动作起点和终点位置作为回力点
JumpBy/JumpTo:跳的动作
RotateBy/RotateTo:旋转的动作
Spawn:让多个动作同一时候运行
Speed:让目标运行速度加倍
实现代码例如以下:
local kTagAction1 = 1
local kTagAction2 = 2
local kTagSlider = 1
-- 获取屏幕大小
local s = cc.Director:getInstance():getWinSize()
-- 获取与Directorg关联的调度器
local scheduler = cc.Director:getInstance():getScheduler() -- 创建简单的移动,持续3秒
local function createSimpleMoveBy()
return cc.MoveBy:create(3, cc.p(s.width - 130, 0))
end -- 创建简单的延迟,0.25秒
local function createSimpleDelayTime()
return cc.DelayTime:create(0.25)
end -- 设置两个精灵的位置
local function positionForTwo()
grossini:setPosition(cc.p(60, s.height * 1 / 5))
tamara:setPosition(cc.p(60, s.height * 4 / 5))
kathia:setVisible(false)
end -- 获取基础层
local function getBaseLayer()
local layer = cc.Layer:create() -- 三个丑陋的精灵
grossini = cc.Sprite:create(s_pPathGrossini)
tamara = cc.Sprite:create(s_pPathSister1)
kathia = cc.Sprite:create(s_pPathSister2) -- 加入三个精灵到层其中
layer:addChild(grossini, 3)
layer:addChild(kathia, 2)
layer:addChild(tamara, 1) -- 设置三个精灵的位置
grossini:setPosition(cc.p(60, s.height * 1 / 5))
kathia:setPosition(cc.p(60, s.height * 2.5 / 5))
tamara:setPosition(cc.p(60, s.height * 4 / 5)) -- 初始化层
Helper.initWithLayer(layer) return layer
end -----------------------------------
-- SpriteEase
-----------------------------------
local SpriteEase_entry = nil -- 測试停止动作
local function testStopAction(dt)
-- 取消调度脚本
scheduler:unscheduleScriptEntry(SpriteEase_entry)
tamara:stopActionByTag(1)
kathia:stopActionByTag(1)
grossini:stopActionByTag(1)
end -- 进入或退出
local function SpriteEase_onEnterOrExit(tag)
-- 假设是进入
if tag == "enter" then
-- 运行脚本方法
SpriteEase_entry = scheduler:scheduleScriptFunc(testStopAction, 6.25, false)
elseif tag == "exit" then
-- 注销循环
scheduler:unscheduleScriptEntry(SpriteEase_entry)
end
end
--
local function SpriteEase() local layer = getBaseLayer() local move = createSimpleMoveBy()
local move_back = move:reverse() -- 原地返回 -- 动作由慢变快
local move_ease_in = cc.EaseIn:create(createSimpleMoveBy(), 2.5)
-- 原路返回
local move_ease_in_back = move_ease_in:reverse() -- 动作有块变慢
local move_ease_out = cc.EaseOut:create(createSimpleMoveBy(), 2.5)
-- 原路返回
local move_ease_out_back = move_ease_out:reverse() -- 延时
local delay = createSimpleDelayTime()
-- 动作序列1
local seq1 = cc.Sequence:create(move, delay, move_back, createSimpleDelayTime())
-- 动作序列2
local seq2 = cc.Sequence:create(move_ease_in,createSimpleDelayTime(),move_ease_in_back,createSimpleDelayTime())
-- 动作序列3
local seq3 = cc.Sequence:create(move_ease_out,createSimpleDelayTime(),move_ease_out_back,createSimpleDelayTime()) -- 运行一个无线循环的动作
local a2 = grossini:runAction(cc.RepeatForever:create(seq1))
a2:setTag(1)--改变这个用来更easy分辨节点的标记。
local a1 = tamara:runAction(cc.RepeatForever:create(seq2))
a1:setTag(1)
local a = kathia:runAction(cc.RepeatForever:create(seq3))
a:setTag(1) -- 注冊监听脚本
layer:registerScriptHandler(SpriteEase_onEnterOrExit) Helper.titleLabel:setString("EaseIn - EaseOut - Stop")
return layer
end -----------------------------------
-- SpriteEaseInOut 精灵由慢至快再由快至慢
-----------------------------------
local function SpriteEaseInOut()
-- 获取基础层
local layer = getBaseLayer()
-- 创建移动动作
local move = createSimpleMoveBy() -- 创建由慢变快再由快变慢的动作,第一个參数表示动作,第二个參数表示频率
local move_ease_inout1 = cc.EaseInOut:create(createSimpleMoveBy(), 0.65)
-- 返回运行与本Action对象相反操作的新Action对象
local move_ease_inout_back1 = move_ease_inout1:reverse() -- 创建频率为1.35的easeInOut动作
local move_ease_inout2 = cc.EaseInOut:create(createSimpleMoveBy(), 1.35)
-- 返回运行与本Action对象相反操作的新Action对象
local move_ease_inout_back2 = move_ease_inout2:reverse() -- 创建频率为1.0的easeInOut动作
local move_ease_inout3 = cc.EaseInOut:create(createSimpleMoveBy(), 1.0)
-- 返回运行与本Action对象相反操作的新Action对象
local move_ease_inout_back3 = move_ease_inout3:reverse() -- 延时动作
local delay = createSimpleDelayTime()
local seq1 = cc.Sequence:create(move_ease_inout1,delay,move_ease_inout_back1,createSimpleDelayTime())
local seq2 = cc.Sequence:create(move_ease_inout2,createSimpleDelayTime(),move_ease_inout_back2,createSimpleDelayTime())
local seq3 = cc.Sequence:create(move_ease_inout3, createSimpleDelayTime(), move_ease_inout_back3, createSimpleDelayTime() ) tamara:runAction(cc.RepeatForever:create(seq1))
kathia:runAction(cc.RepeatForever:create(seq2))
grossini:runAction(cc.RepeatForever:create(seq3)) Helper.titleLabel:setString("EaseInOut and rates")
return layer
end -----------------------------------
-- SpriteEaseExponential 精灵由慢至极快。由极快到慢
-----------------------------------
local function SpriteEaseExponential()
-- 得到基础层
local layer = getBaseLayer()
-- 创建移动动作
local move = createSimpleMoveBy()
-- 反操作
local move_back = move:reverse() -- 创建由慢到极快的动作
local move_ease_in = cc.EaseExponentialIn:create(createSimpleMoveBy())
local move_ease_in_back = move_ease_in:reverse() -- 创建有极快到慢的动作
local move_ease_out = cc.EaseExponentialOut:create(createSimpleMoveBy())
local move_ease_out_back = move_ease_out:reverse() -- 创建延时动作
local delay = createSimpleDelayTime()
local seq1 = cc.Sequence:create(move, delay, move_back, createSimpleDelayTime())
local seq2 = cc.Sequence:create(move_ease_in, createSimpleDelayTime(), move_ease_in_back, createSimpleDelayTime())
local seq3 = cc.Sequence:create(move_ease_out, createSimpleDelayTime(), move_ease_out_back, createSimpleDelayTime()) -- 三个丑八怪运行动作
grossini:runAction(cc.RepeatForever:create(seq1))
tamara:runAction(cc.RepeatForever:create(seq2))
kathia:runAction(cc.RepeatForever:create(seq3))
-- 设置层标题
Helper.titleLabel:setString("ExpIn - ExpOut actions")
return layer
end -----------------------------------
-- SpriteEaseExponentialInOut 精灵由慢至极快再由极快至慢
-----------------------------------
local function SpriteEaseExponentialInOut()
-- 得到基础层
local layer = getBaseLayer()
-- 创建简单移动动作
local move = createSimpleMoveBy()
-- 反向操作
local move_back = move:reverse() -- 创建由慢至极快再由极快至慢的动作
local move_ease = cc.EaseExponentialInOut:create(createSimpleMoveBy())
local move_ease_back = move_ease:reverse() local delay = createSimpleDelayTime()
local seq1 = cc.Sequence:create(move, delay, move_back, createSimpleDelayTime())
local seq2 = cc.Sequence:create(move_ease, createSimpleDelayTime(), move_ease_back, createSimpleDelayTime() ) -- 设置两个丑八怪的位置
positionForTwo() grossini:runAction(cc.RepeatForever:create(seq1))
tamara:runAction(cc.RepeatForever:create(seq2)) -- 设置层标题
Helper.titleLabel:setString("EaseExponentialInOut action")
return layer
end -----------------------------------
-- SpriteEaseSine 由快至慢、由慢至快
-----------------------------------
local function SpriteEaseSine()
-- 得到基础层
local layer = getBaseLayer() -- 创建简单移动动作
local move = createSimpleMoveBy()
-- 反向操作
local move_back = move:reverse() -- 创建由快至慢的动作
local move_ease_in = cc.EaseSineIn:create(createSimpleMoveBy())
local move_ease_in_back = move_ease_in:reverse() -- 创建有慢至快的动作
local move_ease_out = cc.EaseSineOut:create(createSimpleMoveBy())
local move_ease_out_back = move_ease_out:reverse() local delay = createSimpleDelayTime()
local seq1 = cc.Sequence:create(move, delay, move_back, createSimpleDelayTime() )
local seq2 = cc.Sequence:create(move_ease_in, createSimpleDelayTime(), move_ease_in_back, createSimpleDelayTime())
local seq3 = cc.Sequence:create(move_ease_out, createSimpleDelayTime(), move_ease_out_back,createSimpleDelayTime()) -- 运动了喂
grossini:runAction(cc.RepeatForever:create(seq1))
tamara:runAction(cc.RepeatForever:create(seq2))
kathia:runAction(cc.RepeatForever:create(seq3)) -- 设置标题
Helper.titleLabel:setString("EaseSineIn - EaseSineOut")
return layer
end -----------------------------------
-- SpriteEaseSineInOut 精灵由慢至快再由快至慢
-----------------------------------
local function SpriteEaseSineInOut()
-- 得到基础层
local layer = getBaseLayer()
-- 创建简单移动动作
local move = createSimpleMoveBy()
local move_back = move:reverse() -- 由慢至快再由快至慢
local move_ease = cc.EaseSineInOut:create(createSimpleMoveBy())
local move_ease_back = move_ease:reverse() local delay = createSimpleDelayTime()
local seq1 = cc.Sequence:create(move, delay, move_back, createSimpleDelayTime())
local seq2 = cc.Sequence:create(move_ease, createSimpleDelayTime(), move_ease_back, createSimpleDelayTime()) -- 设置两个丑八怪的位置
positionForTwo() -- 丑八怪运动啦
grossini:runAction(cc.RepeatForever:create(seq1))
tamara:runAction(cc.RepeatForever:create(seq2)) Helper.titleLabel:setString("EaseSineInOut action")
return layer
end -----------------------------------
-- SpriteEaseElastic
-----------------------------------
local function SpriteEaseElastic()
-- 得到基础层
local layer = getBaseLayer()
-- 创建简单移动动作
local move = createSimpleMoveBy()
local move_back = move:reverse() -- 让目标动作赋予弹性 ,且以目标动作起点位子赋予弹性
local move_ease_in = cc.EaseElasticIn:create(createSimpleMoveBy())
local move_ease_in_back = move_ease_in:reverse() -- 让目标动作赋予弹性 ,且以目标动作终点位子赋予弹性
local move_ease_out = cc.EaseElasticOut:create(createSimpleMoveBy())
local move_ease_out_back = move_ease_out:reverse() -- 延迟动作
local delay = createSimpleDelayTime()
-- 创建动作序列
local seq1 = cc.Sequence:create(move, delay, move_back, createSimpleDelayTime() )
local seq2 = cc.Sequence:create(move_ease_in, createSimpleDelayTime(), move_ease_in_back, createSimpleDelayTime())
local seq3 = cc.Sequence:create(move_ease_out, createSimpleDelayTime(), move_ease_out_back, createSimpleDelayTime()) -- 三个丑八怪又运行动作了
grossini:runAction(cc.RepeatForever:create(seq1))
tamara:runAction(cc.RepeatForever:create(seq2))
kathia:runAction(cc.RepeatForever:create(seq3)) -- 设置标题
Helper.titleLabel:setString("Elastic In - Out actions")
return layer
end -----------------------------------
-- SpriteEaseElasticInOut 让目标动作赋予弹性 ,且以目标动作起点和终点位子赋予弹性
-----------------------------------
local function SpriteEaseElasticInOut()
-- 创建基础层
local layer = getBaseLayer()
-- 创建简单移动的动作
local move = createSimpleMoveBy() -- 让目标动作赋予弹性 ,且以目标动作起点和终点位子赋予弹性,频率0.3
local move_ease_inout1 = cc.EaseElasticInOut:create(createSimpleMoveBy(), 0.3)
local move_ease_inout_back1 = move_ease_inout1:reverse() -- 让目标动作赋予弹性 ,且以目标动作起点和终点位子赋予弹性,频率0.45
local move_ease_inout2 = cc.EaseElasticInOut:create(createSimpleMoveBy(), 0.45)
local move_ease_inout_back2 = move_ease_inout2:reverse() -- 让目标动作赋予弹性 ,且以目标动作起点和终点位子赋予弹性。频率0.6
local move_ease_inout3 = cc.EaseElasticInOut:create(createSimpleMoveBy(), 0.6)
local move_ease_inout_back3 = move_ease_inout3:reverse() local delay = createSimpleDelayTime()
local seq1 = cc.Sequence:create(move_ease_inout1, delay, move_ease_inout_back1, createSimpleDelayTime())
local seq2 = cc.Sequence:create(move_ease_inout2, createSimpleDelayTime(), move_ease_inout_back2, createSimpleDelayTime())
local seq3 = cc.Sequence:create(move_ease_inout3, createSimpleDelayTime(), move_ease_inout_back3, createSimpleDelayTime()) tamara:runAction(cc.RepeatForever:create(seq1))
kathia:runAction(cc.RepeatForever:create(seq2))
grossini:runAction(cc.RepeatForever:create(seq3)) Helper.titleLabel:setString("EaseElasticInOut action")
return layer
end -----------------------------------
-- SpriteEaseBounce
-----------------------------------
local function SpriteEaseBounce()
-- 得到基础层
local layer = getBaseLayer()
-- 创建简单移动动作
local move = createSimpleMoveBy()
local move_back = move:reverse() -- 让目标动作缓慢開始
local move_ease_in = cc.EaseBounceIn:create(createSimpleMoveBy())
local move_ease_in_back = move_ease_in:reverse() -- 让目标动作赋予反弹力,且以目标动作结束位子開始反弹
local move_ease_out = cc.EaseBounceOut:create(createSimpleMoveBy())
local move_ease_out_back = move_ease_out:reverse() local delay = createSimpleDelayTime()
local seq1 = cc.Sequence:create(move, delay, move_back, createSimpleDelayTime() )
local seq2 = cc.Sequence:create(move_ease_in, createSimpleDelayTime(), move_ease_in_back, createSimpleDelayTime())
local seq3 = cc.Sequence:create(move_ease_out, createSimpleDelayTime(), move_ease_out_back, createSimpleDelayTime()) -- 烦不烦?
grossini:runAction(cc.RepeatForever:create(seq1))
tamara:runAction(cc.RepeatForever:create(seq2))
kathia:runAction(cc.RepeatForever:create(seq3)) Helper.titleLabel:setString("Bounce In - Out actions")
return layer
end -----------------------------------
-- SpriteEaseBounceInOut 让目标动作赋予反弹力,且以目标动作起始与结束位子開始反弹
-----------------------------------
local function SpriteEaseBounceInOut()
-- 得到基础层
local layer = getBaseLayer()
-- 创建简单移动动作
local move = createSimpleMoveBy()
local move_back = move:reverse() -- 让目标动作赋予反弹力,且以目标动作起始与结束位子開始反弹
local move_ease = cc.EaseBounceInOut:create(createSimpleMoveBy())
local move_ease_back = move_ease:reverse() local delay = createSimpleDelayTime()
local seq1 = cc.Sequence:create(move, delay, move_back, createSimpleDelayTime())
local seq2 = cc.Sequence:create(move_ease, createSimpleDelayTime(), move_ease_back, createSimpleDelayTime()) positionForTwo() -- 为什么仅仅用两个丑八怪?
grossini:runAction(cc.RepeatForever:create(seq1))
tamara:runAction(cc.RepeatForever:create(seq2)) Helper.titleLabel:setString("EaseBounceInOut action")
return layer
end -----------------------------------
-- SpriteEaseBack
-----------------------------------
local function SpriteEaseBack()
local layer = getBaseLayer() local move = createSimpleMoveBy()
local move_back = move:reverse() -- 让目标动作赋予回力 , 且以目标动作起点位置作为回力点
local move_ease_in = cc.EaseBackIn:create(createSimpleMoveBy())
local move_ease_in_back = move_ease_in:reverse() -- 让目标动作赋予回力 , 且以目标动作终点位置作为回力点
local move_ease_out = cc.EaseBackOut:create(createSimpleMoveBy())
local move_ease_out_back = move_ease_out:reverse() local delay = createSimpleDelayTime()
local seq1 = cc.Sequence:create(move, delay, move_back, createSimpleDelayTime())
local seq2 = cc.Sequence:create(move_ease_in, createSimpleDelayTime(), move_ease_in_back, createSimpleDelayTime())
local seq3 = cc.Sequence:create(move_ease_out, createSimpleDelayTime(), move_ease_out_back, createSimpleDelayTime()) grossini:runAction(cc.RepeatForever:create(seq1))
tamara:runAction(cc.RepeatForever:create(seq2))
kathia:runAction(cc.RepeatForever:create(seq3)) Helper.titleLabel:setString("Back In - Out actions")
return layer
end -----------------------------------
-- SpriteEaseBackInOut 让目标动作赋予回力 。 且以目标动作起点和终点位置作为回力点
-----------------------------------
local function SpriteEaseBackInOut()
local layer = getBaseLayer() local move = createSimpleMoveBy()
local move_back = move:reverse() -- 让目标动作赋予回力 , 且以目标动作起点和终点位置作为回力点
local move_ease = cc.EaseBackInOut:create(createSimpleMoveBy())
local move_ease_back = move_ease:reverse() local delay = createSimpleDelayTime()
local seq1 = cc.Sequence:create(move, delay, move_back, createSimpleDelayTime())
local seq2 = cc.Sequence:create(move_ease,createSimpleDelayTime(), move_ease_back, createSimpleDelayTime()) positionForTwo() grossini:runAction(cc.RepeatForever:create(seq1))
tamara:runAction(cc.RepeatForever:create(seq2)) Helper.titleLabel:setString("EaseBackInOut action")
return layer
end -----------------------------------
-- SpeedTest 速度測试
-----------------------------------
local SpeedTest_entry = nil
local SpeedTest_action1 = nil
local SpeedTest_action2 = nil
local SpeedTest_action3 = nil local function altertime(dt)
-- 设置速度
SpeedTest_action1:setSpeed(math.random() * 2)
SpeedTest_action2:setSpeed(math.random() * 2)
SpeedTest_action3:setSpeed(math.random() * 2)
end local function SpeedTest_onEnterOrExit(tag)
if tag == "enter" then
SpeedTest_entry = scheduler:scheduleScriptFunc(altertime, 1.0, false)
elseif tag == "exit" then
scheduler:unscheduleScriptEntry(SpeedTest_entry)
end
end -- 速度測试
local function SpeedTest()
local layer = getBaseLayer()
--參数1:跳到目标动作位子的所需时间
--參数2:目标位置
--參数3:跳的高度
--參数4跳到目标位置的次数
local jump1 = cc.JumpBy:create(4, cc.p(- s.width + 80, 0), 100, 4)
local jump2 = jump1:reverse() -- 反向动作
-- 旋转动作,參数1:旋转的时间 參数2:旋转的角度 0 - 360
local rot1 = cc.RotateBy:create(4, 360 * 2)
local rot2 = rot1:reverse() -- 蹦蹦跳跳的动作序列
local seq3_1 = cc.Sequence:create(jump2, jump1)
-- 旋转的动作序列
local seq3_2 = cc.Sequence:create(rot1, rot2) -- 让多个动作同一时候运行
local spawn = cc.Spawn:create(seq3_1, seq3_2)
-- 速度动作1
SpeedTest_action1 = cc.Speed:create(cc.RepeatForever:create(spawn), 1.0) -- 克隆一个spawn
local spawn2 = spawn:clone()
-- 速度动作2
SpeedTest_action2 = cc.Speed:create(cc.RepeatForever:create(spawn2), 1.0) local spawn3 = spawn:clone()
-- 速度动作3
SpeedTest_action3 = cc.Speed:create(cc.RepeatForever:create(spawn3), 1.0) -- 最后一个了
grossini:runAction(SpeedTest_action2)
tamara:runAction(SpeedTest_action3)
kathia:runAction(SpeedTest_action1) layer:registerScriptHandler(SpeedTest_onEnterOrExit) Helper.titleLabel:setString("Speed action")
return layer
end function EaseActionsTest()
-- 创建场景
local scene = cc.Scene:create()
cclog("EaseActionsTest") -- 创建方法表
Helper.createFunctionTable = {
SpriteEase,
SpriteEaseInOut,
SpriteEaseExponential,
SpriteEaseExponentialInOut,
SpriteEaseSine,
SpriteEaseSineInOut,
SpriteEaseElastic,
SpriteEaseElasticInOut,
SpriteEaseBounce,
SpriteEaseBounceInOut,
SpriteEaseBack,
SpriteEaseBackInOut,
SpeedTest
}
-- 加入子节点
scene:addChild(SpriteEase())
-- 加入返回菜单
scene:addChild(CreateBackMenuItem()) return scene
end

Cocos2d-x 3.1.1 Lua演示样例 ActionEaseTest(动作)的更多相关文章

  1. Cocos2d-x 3.1.1 Lua演示样例 ActionManagerTest(动作管理)

    Cocos2d-x 3.1.1 Lua演示样例 ActionManagerTest(动作管理) 本篇博客介绍Cocos2d-x的动作管理样例,这个样例展示了Cocos2d-x的几个动作: MoveTo ...

  2. Cocos2d-x 3.2 Lua演示样例 ClickAndMoveTest(点击移动測试)

    Cocos2d-x 3.2 Lua演示样例 ClickAndMoveTest(点击移动測试)  本篇博客介绍Cocos2d-x 3.2Lua演示样例中点击移动的样例,在这个样例你能够得到怎样创建单点触 ...

  3. Cocos2d-x 3.2 Lua演示样例 XMLHttpRequestTest(Http网络请求)

    Cocos2d-x 3.2 Lua演示样例 XMLHttpRequestTest(Http网络请求)     本篇博客介绍Cocos2d-x 3.2Lua演示样例中的XMLHttpRequestTes ...

  4. Cocos2d-x 3.2 Lua演示样例 AssetsManagerTest(资源管理器)

    Cocos2d-x 3.2 Lua演示样例 AssetsManagerTest(资源管理器) 本篇博客介绍Cocos2d-x 为我们提供的一个类--AssetsManager在Lua中的使用样例,效果 ...

  5. Cocos2d-x 3.1.1 Lua演示样例 ActionsProgressTest(进度条)

    Cocos2d-x 3.1.1 Lua演示样例 ActionsProgressTest(进度条) 本篇博客介绍Cocos2d-x中的进度条动画,进度条涉及以下几个重要的类和方法,笔者来给大家具体解说一 ...

  6. Cocos2d-x 3.2 Lua演示样例CurrentLanguageTest(当前语言环境)

    Cocos2d-x 3.2 Lua演示样例CurrentLanguageTest(当前语言环境) 转载请注明:IT_xiao小巫 本篇博客介绍Cocos2d-x 3.2给我们提供的一个样例.获取当前程 ...

  7. Cocos2d-x 3.2 Lua演示样例FontTest(字体測试)

    Cocos2d-x 3.2 Lua演示样例FontTest(字体測试) 本篇博客介绍Cocos2d-x 3.2中Lua測试项目中的FontTest样例,主要使用了字体文件来创建我们想要的字体样式: 第 ...

  8. Cocos2d-x-Lua演示样例项目HelloLua

    Cocos2d-x-Lua演示样例项目HelloLua 本篇博客介绍Cocos2d-x中Lua的实例项目,就是使用Cocos2d-x创建的初始项目执行所呈现的农场,这里笔者取名为HelloLua.本篇 ...

  9. Cocos2d-x 3.2Lua演示样例UserDefaultTest(用户默认配置)

    Cocos2d-x 3.2演示样例UserDefaultTest(用户默认配置) 本篇博客介绍Cocos2d-x 3.2演示样例中的UserDefaulstTest,我们在开发中可能须要用到一些默认配 ...

随机推荐

  1. jquery实现仿商品星级评价

    一,HTML部分 <div id="rating-star">     <a href="#">0</a>     < ...

  2. docker 实战---使用oracle xe作为开发数据库(六)

    oracle作为oltp的大佬,非常多行业应用都会用到它.那么在开发的过程中就不可避免的要使用oracle数据库,oracle数据库的版本号有好多,当中express版本号是免费的开发版.它的主要限制 ...

  3. Java String类具体解释

    Java String类具体解释 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,非常多时候,我们对它既熟悉又陌生. 类结构: public fin ...

  4. 使用Xcode上传代码至GitHub

    几乎所有iOS程序员都上过GitHub寻找开源类库,的确,GitHub上有大量优秀的开源类库供大家学习.但是如何在Xcode中上传代码至GitHub呢? (开始之前先安装git,具体方法这里讲的很清楚 ...

  5. find()与children()方法的区别

    来源:http://www.jb51.net/article/26195.htm 总经一下前段时间用于的jQuery方法:find及children.需要的朋友可以参考下. 首先看看英文解释吧: ch ...

  6. Java数组的复制

    初学Java的时候,需要复制数组的时候,一下子就想到使用赋值语句“=”,例如:array1 = array2:但后来慢慢发现,这个语句并不能将array2的内容复制给array1,而是将array2的 ...

  7. android学习—should use @string resource警告

    在布局文件中,文本的设置使用如下写法时会有警告:Hardcoded string "BUTTON", should use @string resource <Button ...

  8. AdapterView及其子类之四:基于ListView及SimpleAdapter实现列表

    代码请见SimpleAdapterDemo.zip. 步骤如下: 1.创建主布局文件 <RelativeLayout xmlns:android="http://schemas.and ...

  9. 使用HTML5的页面资源预加载(Link prefetch)功能加速你的页面加载速度

    不管是浏览器的开发者还是普通web应用的开发者,他们都在做一个共同的努力:让Web浏览有更快的速度感觉.有很多已知的技术都可以让你的网站速度变得更快:使用CSS sprites,使用图片优化工具,使用 ...

  10. iframe自适应高度的多种方法方法小结(转)

    对于自适应高度的代码有很多,可效率什么的考虑进来好代码就不多见了,不过思路倒是差不多的不带边框的iframe因为能和网页无缝的结合从而不刷新页面的情况下更新页面的部分数据成为可能,可是 iframe的 ...