FadeActionScene.cpp文件
#include"FadeActionScene.h"
Scene* FadeAction::createScene(){
auto scene = Scene::create();
auto layer = FadeAction::create();
scene->addChild(layer);
return scene;
}
bool FadeAction::init(){
if (!Layer::init()){
return false;
}
//获得屏幕尺寸大小
Size visibleSize = Director::getInstance()->getVisibleSize();
//使用.png图片创建一个精灵
auto apple1 = Sprite::create("apple.png");
//设置精灵的位置在屏幕的正中
apple1->setPosition(Point(visibleSize.width / 2 - 100, visibleSize.height / 2));
//将精灵的透明度设置为0,可以更好的观察淡入效果
apple1->setOpacity(0);
//将精灵添加为当前层的子节点
this->addChild(apple1);
//创建一个fade动作,执行该动作的节点会在5秒内淡入
auto fadeIn = FadeIn::create(5);
//反转fadeIn动作,即节点会在五秒内淡出
auto fadeInReverse = fadeIn->reverse();
//精灵按顺序执行fadeIn和fadeInReverse动作
apple1->runAction(Sequence::create(fadeIn, fadeInReverse, NULL));
//创建第二个精灵
auto apple2 = Sprite::create("apple.png");
apple2->setPosition(Point(visibleSize.width / 2 + 100, visibleSize.height / 2));
this->addChild(apple2);
//创建一个fadeout动作,执行该动作的节点会在5秒内淡出
auto fadeOut = FadeOut::create(5);
//反转fadeout动作,即节点会在5秒内淡入
auto fadeOutReverse = fadeOut->reverse();
//精灵执行fadeout动作和fadeoutreverse动作
apple2->runAction(Sequence::create(fadeOut, fadeOutReverse, NULL));
return true;
}