-- 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好写了,当然,我是个菜鸟 所以无敌 喷也没用