cocos2d-x step by step(3) Doub le Kill简单的一些小动画
在触控厮混了两年多,不过达到了自己的初衷以及目的。
目前从事cocos2d的更改和调优移植工作。
1 简单的一个图片放大和缩小
auto sprite = Sprite::create("langren1.png");
这里定义了一个精灵sprite,图片随意
cocos2d里有scale函数进行缩放或者放大
CCActionInterval* actionTo = CCScaleTo::create(2, 0.2f) ; sprite->runAction(actionTo);
我们可以定义一个CCActionInterval,2秒钟,变化到0.2
说到CCActionInterval,这是一个持续动画,类似于wpf的animation这个东西,它里面定义很多动画列表,例如:
CCMoveTo:移动到、CCMoveBy:按……移动
CCJumpTo:跳跃到、CCJumpBy:按……跳跃
CCBezierTo:贝兹移动到、CCBezierBy:按……贝兹移动
CCRotateTo:旋转到、CCRotateBy:按……旋转
CCScaleTo:缩放到、CCScaleBy:按……缩放
CCSkewTo:切变到、CCSkewBy:按……切变
CCTintTo:颜色渐变到、CCTintBy:按……颜色渐变
CCFadeIn:从无到有,也叫淡入、CCFadeOut:从有到无,也叫淡出、CCFadeTo:改变不透明度到某个值
CCBlink:闪耀
CCDelayTime:延时
这些都是简单的一些定义,很简便
2 持续的变化,一直在放大和缩小中变化
cocos2d里面有一个这个东西
CCSequence
这是一个队列,
CCSequence.create(这里是CCActionInterval,CCActionInterval可以传入多个,....,null)可以传入n个CCActionInterval,然后在时间轴内循环的去播放
当然,这个只是执行一遍,如果想要做到循环,那么它里面还有一个
CCRepeatForever::create(CCSequence),把CCSequence列表当做参数传入期内,然后可以持续进行,做到循环
哦,最后还要说一下,sprite精灵对象,创建以后,你就可以进行自己调节,初始化的调节,比如setScale setRotation调节缩放调节旋转,它内部就带了一些这个参数,还是蛮方便的,最后附上简单的代码:
auto sprite = Sprite::create("langren1.png"); sprite->setScale(0.5f,0.5f); sprite->setRotation(90); // position the sprite on the center of the screen sprite->setPosition(Vec2(visibleSize / 2) + origin); // add the sprite as a child to this layer this->addChild(sprite); // CCActionInterval* actionTo = CCMoveTo::create(2, ccp(0, 0)); CCActionInterval* actionTo = CCScaleTo::create(2, 0.2f) ; sprite->runAction(actionTo); // CCActionInterval* scaleAction1 = CCScaleTo::create(2, 0.2f, 0.2f); //CCActionInterval* scaleAction2 = CCScaleTo::create(2, 0.5f, 0.5f); //CCActionInterval* seq = (CCActionInterval*)(CCSequence::create(scaleAction1, scaleAction2, NULL)); // sprite->runAction( CCRepeatForever::create(seq)); //sprite->runAction( CCRepeatForever::create(CCSequence::create(CCFadeIn::create(2),CCFadeOut::create(2),NULL)));
今天中午吃饭,听到一帮穿西服,应该是搞房地产的,在讨论TFBoy的歌曲,首推青春修炼手册。
蛮好。