cocos2dx_lua ActionsTest 学习及笔记

--------------------------------------
-- ActionMove
--------------------------------------

CCMoveBy 时间 和 距离

CCMoveTo 时间 和 目的地

--------------------------------------
-- ActionScale
--------------------------------------

CCScaleTo:create(2.0, 0.5)   

CCScaleBy:create(2.0, 1.0, 10.0)

时间 比例 单参数 指整体 双参数指x,y方向,To基于原始, By基于当前,适用于大部分的Actions类的方法,不累述。 

--------------------------------------
-- ActionRotate
--------------------------------------
旋转
CCRotateTo:

CCRotateBy; 时间 角度

CCSequence:createWithTwoActions(actionTo2, action0Retain):两个有序动作

--------------------------------------
-- ActionSkew

--------------------------------------

倾斜

CCSkewTo:

CCSkewBy:时间 ,x,y方向角度

--------------------------------------
-- ActionSkewRotate
--------------------------------------

    box:runAction(CCSequence:createWithTwoActions(actionTo, actionToBack))
    box:runAction(CCSequence:createWithTwoActions(rotateTo, rotateToBack))
    box:runAction(CCSequence:createWithTwoActions(actionScaleTo, actionScaleToBack))

连续添加,同时发生动作

--------------------------------------
-- ActionJump

--------------------------------------

跳跃:

CCJumpTo:

CCJumpBy:时间,目的地或距离,高度,次数

 
--------------------------------------
-- ActionCardinalSpline
--------------------------------------
local function drawCardinalSpline(array)
kmGLPushMatrix()
kmGLTranslatef(50, 50, 0)
ccDrawCardinalSpline(array, 0, 100)
kmGLPopMatrix()
end

画曲线的,在player和vs都没画出来 ,不解中



local array = CCPointArray:create(20)
array:addControlPoint(ccp(0, 0))
array:addControlPoint(ccp(size.width / 2 - 30, 0))
。。。。。。。

local action = CCCardinalSplineBy:create(3, array, 0)
local reverse = action:reverse()
local seq = CCSequence:createWithTwoActions(action, reverse)

CCCardinalSplineBy : 时间 ,坐标数组 ,张力 



后续 



笔记:

1.lua对于函数调用的参量数目自动调整(删减或补nil) 在调用c++函数的时候不适用,此时会重载函数的机制发挥作用。
2.skew 倾斜
3.spline 曲线
4.cardinalspline 一种图形学的曲线,样条曲线
5.ActionCardinalspline 例子画不出曲线
6.blink 闪烁
7.fade 褪色,淡出淡入
8.tint 染色
9.ActionAnimate 的例子plist和tolua的使用略过了
10.
    local move_tamara = CCMoveBy:create(1, ccp(100,0))
    local move_tamara2 = CCMoveBy:create(1, ccp(50,0))
    local hide = CCHide:create()
local array2 = CCArray:createWithCapacity(10)
array2:addObject(move_tamara)
array2:addObject(hide)
array2:addObject(move_tamara2)

array2:addObject(move_tamara2)
array2:addObject(hide)
array2:addObject(move_tamara)
    local seq_tamara = CCSequence:create(array2)
    local seq_back = seq_tamara:reverse()
   -- tamara:runAction(CCSequence:createWithTwoActions(seq_tamara, seq_back))
tamara:runAction(seq_tamara)


CCHide 只是影藏,再次调用不会反向显示
而CCToggleVisibility则会,所以以上move_tamara就一直影藏了


而采用reverse()去反操作会把CCHide的也反显示出来,也就是reverse不是针对序列的,是针对操作的。如下


    local move_tamara = CCMoveBy:create(1, ccp(100,0))
    local move_tamara2 = CCMoveBy:create(1, ccp(50,0))
    local hide = CCHide:create()
local array2 = CCArray:createWithCapacity(10)
array2:addObject(move_tamara)
array2:addObject(hide)
array2:addObject(move_tamara2)
    local seq_tamara = CCSequence:create(array2)
    local seq_back = seq_tamara:reverse()
    tamara:runAction(CCSequence:createWithTwoActions(seq_tamara, seq_back))


tamara 会再次显示出来


11.orbit 盘旋
12.CCFollow: 第二个参数 是矩阵 表示layer移动的局限范围
其实我理解不是layer移动,是layer的可视区域移动,能接受就行,没什么所谓的,纠结的是CCRect的第3,4个参数竟然是矩阵的宽度和长度,我以为是矩阵右上角点,调了1个多钟啊。


13.cocos2dx
这个引擎没把程序流程给开发者,基本是基于消息触发(包括事件,时间触发器)的,没有gameloop好写了,当然,我是个菜鸟 所以无敌 喷也没用


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值