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);
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);
int uBlinks:闪烁次数。