• cocos2d中各种action方法的应用


    Action示例

    1、移动动作

    cc.MoveBy:create(time, posX, posY)  在time时间内,相对当前位置基础上移动x,y个单位。  

    cc.MoveTo:create(time, posX, posY)  在time时间内,移动到cc.p(posX, posY)位置。

    2、缩放动作

    cc.ScaleBy:create(time, scaleX, scaleY) 在time时间内,相对当前大小缩放scale(scaleX, scaleY)个单位

    cc.ScaleTo:create(time, scaleX, scaleY) 在time时间内,缩放到scale(scaleX, scaleY)大小

    3 斜歪动作 (skew 和 rotate 的区别是一个是压缩倾斜旋转(形状会变), 一个是正常旋转(形状不变))
    cc.SkewTo:create(time, angleX, angleY)  在time时间内,压缩倾斜至angleX, angleY角度 (形状会变)

    cc.SkewBy:create(time, angleX, angleY)  在time时间内,相对当前角度压缩倾斜angleX, angleY角度(形状会变)

    4、旋转动作

    cc.RatoteTo:create(time, angleX, angleY)  在time时间内,旋转至angleX, angleY角度(形状不变)

    cc.RatoteBy:create(time, angleX, angleY)  在time时间内,相对当前角度旋转angleX, angleY角度(形状不变)

    5、变色动作
    cc.TintTo:create(time, colorR, colorG, colorB)  --第一个参数代表时间, 2-4参数代表颜色RGB

    6、 闪烁运动
    cc.Blink:create(time,num)  -- 创建两个闪烁动作,第一个参数为持续时间,第二个参数为闪烁次数

    7、球面旋转 OrbitCamera类 (action视角按照球面坐标轨迹 围绕屏幕中心进行旋转)

    cc.OrbitCamera:create(2, 1, 0, 0, 180, 0, 0)   -- 创建一个带有起始半径、半径差、起始z角、旋转z角的差、起始x角、旋转x角的差 这些参数的运动视角动作类 


    总结:xxxTo移动到绝对位置, xxxBy移动一个相对位置, 并且所有的xxxBy动作都有对应的reverse方法。

    代码示例:

     1 local ActionTest = class("ActionTest", BaseView)
     2 
     3 function ActionTest:ctor()
     4     self.root = cc.Layer:create()
     5     self:addToUiGroup(self.root)
     6     UITools.alignCenter(self.root)
     7 end
     8 
     9 --------------------------------------
    10 -- ActionSkewRotate
    11 -- 歪斜+旋转+缩放+变色+闪烁
    12 -- skew 和 rotate 的区别是一个是倾斜旋转, 一个是正常旋转
    13 --------------------------------------
    14 function ActionTest:ActionSkewRotate()
    15 
    16     -- 盒子大小
    17     local boxSize = cc.size(200.0, 200.0)
    18     -- 层颜色,第1、2、3分别为红绿篮颜色值,第4个为透明度值
    19     local box = cc.LayerColor:create(cc.c4b(255, 255, 0, 255))
    20     -- 设置锚点
    21     box:setAnchorPoint(cc.p(0, 0))
    22     -- 设置位置
    23     box:setPosition(0, 0)
    24     -- 设置内容大小
    25     box:setContentSize(boxSize)
    26 
    27     --标记大小
    28     local markrside = 30.0
    29     local uL = cc.LayerColor:create(cc.c4b(255, 0, 0, 255))
    30     box:addChild(uL)
    31     uL:setContentSize(cc.size(markrside, markrside))
    32     uL:setPosition(0, boxSize.height - markrside)
    33     uL:setAnchorPoint(cc.p(0, 0))
    34 
    35     local uR = cc.LayerColor:create(cc.c4b(0, 0, 255, 255))
    36     box:addChild(uR)
    37     uR:setContentSize(cc.size(markrside, markrside))
    38     uR:setPosition(boxSize.width - markrside, boxSize.height - markrside)
    39     uR:setAnchorPoint(cc.p(0, 0))
    40     self.root:addChild(box)
    41 
    42     -- 斜歪动作 
    43     local skewTo = cc.SkewTo:create(2, 0, 10)
    44 
    45     --旋转动作
    46     local rotateTo = cc.RotateTo:create(2, 61, 0)
    47 
    48     --缩放动作
    49     local actionScaleTo = cc.ScaleTo:create(2, -0.44, 0.47)
    50 
    51     --变色动作
    52     local tinkTo =  cc.TintTo:create(2, -127, -255, -127)
    53 
    54     -- 闪烁运动  
    55     local blink = cc.Blink:create(2,5) 
    56 
    57     -- OrbitCamera类 :action 视角按照球面坐标轨迹 围绕屏幕中心进行旋转
    58     -- 创建一个带有起始半径、半径差、起始z角、旋转z角的差、起始x角、旋转x角的差 这些参数的运动视角动作类  
    59     -- local orbitTo = cc.OrbitCamera:create(2, 1, 0, 0, 180, 0, 0)  
    60 
    61     local actionScaleToBack = cc.ScaleTo:create(2, 1.0, 1.0)
    62     local rotateToBack = cc.RotateTo:create(2, 0)
    63     local skewToBack = cc.SkewTo:create(2, 0, 0)
    64     local tinkBack =  cc.TintTo:create(2, 255, 255, 0) 
    65 
    66     local spawnTo = cc.Spawn:create(skewTo, rotateTo, actionScaleTo, tinkTo, blink)
    67     local spawnBack = cc.Spawn:create(actionScaleToBack, rotateToBack, skewToBack, tinkBack)
    68     local sequence = cc.Sequence:create(spawnTo, spawnBack)
    69     box:runAction(cc.RepeatForever:create(sequence))
    70     
    71 end
    72 
    73 return ActionTest
  • 相关阅读:
    Linux安装nginx
    linux目录结构
    Django-admin
    celery
    Flask-Migrate
    Flask-Script
    Flask-SQLAlchemy
    SQLAlchemy
    mongodb的增删改查
    websocket的加密和解密过程
  • 原文地址:https://www.cnblogs.com/kane0526/p/5924568.html
Copyright © 2020-2023  润新知