cocos2d-x 3.x学习之ScaleAction

#include"ScaleActionScene.h"
Scene* ScaleAction::createScene(){
	auto scene = Scene::create();
	auto layer = ScaleAction::create();
	scene->addChild(layer);
	return scene;
}
bool ScaleAction::init(){
	if (!Layer::init()){
		return false;
	}
	Size visibleSize = Director::getInstance()->getVisibleSize();
	auto apple = Sprite::create("apple.png");
	apple->setPosition(Point(visibleSize.width / 2, visibleSize.height / 2));
	this->addChild(apple);
	auto left = Sprite::create("apple.png");
	left->setPosition(Point(visibleSize.width / 2 - 300, visibleSize.height / 2));
	this->addChild(left);
	auto scaleTo1 = ScaleTo::create(2, 2);
	auto scaleTo2 = ScaleTo::create(2, 2);
	left->runAction(Sequence::create(scaleTo1, scaleTo2, NULL));
	auto right = Sprite::create("apple.png");
	right->setPosition(Point(visibleSize.width / 2 + 300, visibleSize.height / 2));
	this->addChild(right);
	auto scaleBy1 = ScaleBy::create(2, 2);
	auto scaleBy2 = ScaleBy::create(2, 2);
	right->runAction(Sequence::create(scaleBy1,scaleBy2,NULL));

	return true;
}
创建scaleTo和scaleBy的实例时,第一个参数是动作时间间隔,第二个参数是缩放比例,正数为放大,小数为缩小,两者的区别是前者基于精灵原始大小缩放到原始大小对应的缩放比例,而后者是基于精灵当前大小缩放到当前大小对应的缩放比例

你可能感兴趣的:(cocos2d-x 3.x学习之ScaleAction)