加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2-x从入门到精通第16课《延时动作》

发布时间:2020-12-14 16:33:47 所属栏目:百科 来源:网络整理
导读:本节课视频教程地址:http://edu.csdn.net/course/detail/1342/20994?auto_start=1 什么是持续动作 持续动作又叫延时动作,它是有执行时间的一种动作也就是说执行该动作需要时间,并且在有限的时间内改变执行对象的一些属性。 持续动作的使用 //创建sprite a

本节课视频教程地址:http://edu.csdn.net/course/detail/1342/20994?auto_start=1

什么是持续动作

持续动作又叫延时动作,它是有执行时间的一种动作也就是说执行该动作需要时间,并且在有限的时间内改变执行对象的一些属性。

持续动作的使用

//创建sprite
    auto _sprite = Sprite::create("Logo.png");
    addChild(_sprite);
    _sprite->setPosition(Vec2(0,320));
    
    //创建一个moveTo动作
    auto _moveTo = MoveTo::create(6.0,Vec2(960,320));
    //执行动作
//    _sprite->runAction(_moveTo);
    
    //缩放动作
    auto _scallTo = ScaleTo::create(3.0,2.0);
//    _sprite->runAction(_scallTo);
    
    //选择动作
    auto _rotateTo = RotateTo::create(3.0,60);
    //跳跃动作
    auto _jumpTo = JumpTo::create(3.0,320),200,4);
//    _sprite->runAction(_jumpTo);
    //bezier动作
    ccBezierConfig ccb;
    ccb.controlPoint_1 = Vec2(540,400);
    ccb.controlPoint_2 = Vec2(640,200);
    ccb.endPosition = Vec2(800,100);
    auto _bezierTo = BezierTo::create(3.0,ccb);
//    _sprite->runAction(_bezierTo);
    //创建FadeTo
    auto _fadeTo = FadeTo::create(3.0,0);
//    _sprite->runAction(_fadeTo);
    //创建TinyTo
    auto _tinyTo = TintTo::create(3.0,255,0);
//    _sprite->runAction(_tinyTo);
    //创建blink
    auto _blink = Blink::create(3.0,10);
//    _sprite->runAction(_blink);

通过代码可以看出,延时动作有很多种,并且创建的方法都不太一样,通过对各个动作的代码编写就大概能了解到各种参数的意义,这儿我希望同学们都去试着编写一下上面的代码并修改各个参数,这样就能加深我们队该延时动作的记忆。当然我的视频中都有详细讲解上面各个动作的参数含义,所以希望大家可以移步到我的视频教程中学习。


复合动作的使用


通常在开发中我们需要将各种动作组合起来再让节点执行,复合动作的作用就是将各种动作组合在一起。而且,复合动作本身也是动作。因此可以作为一个普通动作嵌入到其他动作中。

//创建squence动作
    auto _sequence  = Sequence::create(_moveTo,_scallTo,_rotateTo,NULL);
//    _sprite->runAction(_sequence);
    //创建spawn动作
    auto _spwan = Spawn::create(_moveTo,NULL);
//    _sprite->runAction(_spwan);
    //创建rotateBy动作
    auto _rotateBy = RotateBy::create(1.0,60);
    //创建一个repeat动作
    auto _repeat = Repeat::create(_rotateBy,10);
//    _sprite->runAction(_repeat);
    //创建repeatForever
    auto _repeatForever = RepeatForever::create(_rotateBy);
//    _sprite->runAction(_repeatForever);

复合动作分以上四种,他们的作用也个不相同,sequence是顺序执行动作,spawn是同时执行动作,repeate是重复执行动作,repeatForever是永久的执行动作,他们的参数都是只需要动作,而repeat的还可以通过参数来控制执行多少次。


OK,本节课主要讲解了Cocos2d-x的延时动作,当然仅仅通过代码是看不到各个动作是如何运动的,所以,希望大家多去围观我视频教程,那里面有详细的代码讲解和演示,能给大家带来不一样的学习体验,好了,今天的课程就到这儿,谢谢大家。




??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读