这篇博客呢,主要是写我们在cocos2d-x中常用到的节点动作控制,当然,也是我们常用到的一些动作控制语句,十分方便,对游戏趣味性的提高有很大提高。好了,废话不多说,上代码
.....................................................完美分割.....................................................
Size visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
Sprite* sprite = Sprite::create("Circle.png");
sprite->setPosition(Vec2(visibleSize.width/2,visibleSize.height/2));
this->addChild(sprite);
/**移动*/
auto mt = CCMoveTo::create(3,Vec2(visibleSize.width/2+100,visibleSize.height/2)); //横坐标移动100
auto mb = CCMoveBy::create(3,Vec2(100,0)) ;//三秒钟横坐标移动100
/**跳跃*/
auto jt = CCJumpTo::create(3,Vec2(300,300),50,10);//3秒钟,跳跃到点(300,300),跳跃高度50,跳跃次数10次
auto jb = CCJumpTo::create(3,Vec2(0,0),50,10); //3秒钟,原地不动跳跃,跳跃高度50,跳跃次数10
/**缩放*/
auto sb = CCScaleBy::create(3,3); //3秒,放大四倍
auto st = CCScaleTo::create(3,0.4);//3秒钟,缩小到0.4
/**旋转*/
auto rb = CCRotateBy::create(3,360);//3秒,旋转了360
auto rt = CCRotateTo::create(3,270);//3秒,旋转到270度
/**闪烁*/
auto bl = CCBlink::create(3,10);//3秒,闪烁10次
/**色调变换*/
auto tt = CCTintTo::create(3,255,255,0);//3秒钟,色调变化如后面所示
auto tb = CCTintBy::create(3,100,100,100);//注意,后面三个是RGB的值,0~255的数值,不能低于0,高于255
auto sq = Sequence::create(mt,bl,NULL);//串行动画,先移动,后闪烁
auto sp = CCSpawn::create(sq,rb,sb,NULL);//并行动画
sprite->runAction(sp);
运行效果如图所示:
这里我所做的呢,只是一个简单Demo,其实往往我们的这些动作,是要放在帧回调函数里的,保证每帧都回调,实现整个游戏的动画,比如天天酷跑里面的人物运动动画,它就是放在我们的帧回调函数里面 即update函数,时间有限,我就把我做的Demo发一下效果
这里我想说的是,我Demo里的马,它是有动作的,如跳跃,这些呢,我是放在update函数里的
好了,今天就到这里,写的有什么错误的欢迎大家指正 ,欢迎大家留言或者qq交流:3031260489