Roope的Cocos2d-x学习之旅 002:简简单单的运动

Roope的Cocos2d-x学习之旅 002:简简单单的运动,第1张

概述I just don’t want to regret it:   1.   你想去哪,你想走多远 ——MoveTo和MoveBy:             MoveTo(你想去哪)它的作用也就是从某个地方到另一个地方,比如A(x1, y1),B(x2, y2 );当我们想把精灵从A移动到B点时,我们就可以用MoveTo(A MoveTo B,就是这么理解啦~)。             Move I just don’t want to regret it:
1. 你想去哪,你想走多远 ——Moveto和MoveBy: Moveto(你想去哪)它的作用也就是从某个地方到另一个地方,比如A(x1, y1),B(x2, y2 );当我们想把精灵从A移动到B点时,我们就可以用Moveto(A Moveto B,就是这么理解啦~)。 MoveBy(你想走多远)它的作用就是A运动B这个距离这么远。也就是到达C(x1 + x2, y1 + y2);(A add B,就这么理解~) 具体实现如下:
 //截取屏幕大小              Size visibleSize = Director::getInstance()->getVisibleSize();               //定义一个精灵                Sprite* Roope = Sprite::create("sprite.png");                Roope->setposition(Point(50,visibleSize.height / 2));//放置的位置                this->addChild(Roope);               //你想去哪              //Moveto* moveto = Moveto::create(0.9f,Point(250,150));              //Roope->runAction(moveto);            //你想走多远               MoveBy* moveBy = MoveBy::create(0.9f,150));               Roope->runAction(moveBy);

2 . 我要减肥——Scaleto和ScaleBy: 首先是Scaleto,Scaleto的create有三个参数:
float duration: 动作的持续时间,单位为秒。
float sx : x方向的拉伸值。
float sy : y方向的拉伸值。
示例如:
        Size visibleSize = Director::getInstance()->getVisibleSize();         Sprite* roope = Sprite::create("sprite.png");         roope->setposition(Point(visibleSize.wIDth / 2,visibleSize.height / 2));         addChild(roope);         Scaleto* scaleto = Scaleto::create(5.5f,0.4f,1.0f);         roope->runAction(scaleto);



然后是ScaleBy,ScaleBy的create参数和Scaleto的一样。
ScaleBy::create(2.8f, 0.4f, 1.0f );
这里要说一下Scaleto和ScaleBy的区别所在。Scaleto的效果是不管精灵当前的拉伸倍数是多少,它就会把精灵缩放到指定的倍数。而ScaleBy的效果是在精灵当前的倍数的基础上,再次拉伸。 如:
Size visibleSize = Director::getInstance()->getVisibleSize();        Sprite* roope1 = Sprite::create("sprite.png");        roope1->setposition(Point(100,visibleSize.height / 2));        roope1->setScale(2.0f);//拉伸精灵        addChild(roope1);        Sprite* roope2 = Sprite::create("sprite.png");        roope2->setposition(Point(400,visibleSize.height / 2));        roope2->setScale(2.0f);//拉伸精灵        addChild(roope2);        Scaleto* scaleto = Scaleto::create(3.0f,1.0f,1.0f);        ScaleBy* scaleBy = ScaleBy::create(3.0f,2.0f,1.0f);        roope1->runAction(scaleto);        roope2->runAction(scaleBy);

这里就可以发现两者巨大的差别。
3 闪亮登场——Blink: Blink可以是精灵闪烁,并且可以指定闪烁次数,使用方法类似Moveto等类。其create函数有两个参数。 float duration :动作持续时间,单位为秒。 float uBlink : 闪烁次数。 示例如:
 Size visibleSize = Director::getInstance()->getVisibleSize();    Sprite* roope = Sprite::create("sprite.png");    roope->setposition(Point(visibleSize.wIDth / 2,visibleSize.height / 2));    addChild(roope);    Blink* blink = Blink::create(5.0f,10);    roope->runAction(blink);
总结

以上是内存溢出为你收集整理的Roope的Cocos2d-x学习之旅 002:简简单单运动全部内容,希望文章能够帮你解决Roope的Cocos2d-x学习之旅 002:简简单单的运动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1052766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存