当前位置: 首页 > 工具软件 > Starling 2D > 使用案例 >

cocos2d-x学习笔记(8)ScaleTo和ScaleBy 以及 Blink

洪和风
2023-12-01

ScaleTo的使用

if ( !Layer::init() )
    {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();
    
	Sprite* sprite=Sprite::create("sprite.png");	
	sprite->setPosition(Point(50,visibleSize.height/2));
	this->addChild(sprite);
	ScaleTo* scaleto=ScaleTo::create(2.8f,0.4f,1.0f);
	sprite->runAction(scaleto);

ScaleTo的三个参数:

float duration:动作持续时间,单位为秒;

float sx:X方向的拉伸值;

float sy:Y方向的拉伸值。


ScaleBy:

ScaleBy* scaleby=ScaleBy::create(2.8f,0.4f,1.0f);
ScaleBy的意思是在原来倍数的基础上拉伸,比如默认是1.0倍,指定第二个参数为0.4f,则X会拉伸0.4倍。而如果原来是2.0倍,指定第二个参数为0.4f,则X会拉伸0,8倍。这里的拉伸倍数都是以原始大小为基准。


翻牌效果:

第一个精灵初始不拉伸,第二个精灵初始X方向拉伸为0,这样初始时第二个精灵相当于隐藏了。然后,第一个精灵的X方向开始缩小,一直缩小,一直到最后看不见。当第一个精灵的X方向缩小为0倍时,第二个精灵开始X方向的放大,慢慢放大到原始大小。


Blink:

闪烁

Blink* blink=Blink::create(3.0f,5);
	sprite->runAction(blink);

float durantion:动作持续时间,单位为秒;

int uBlinks:闪烁次数。



 类似资料: