1. 程式人生 > >cocos2d-x3.0基本動作之FadeIn動作,FadeOut動作

cocos2d-x3.0基本動作之FadeIn動作,FadeOut動作

bool FadeAction::init()
{
    // 呼叫父類的init函式
    if ( !Layer::init() )
    {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    // 使用.png圖片建立一個精靈
    auto apple1 = Sprite::create("CloseNormal.png");
    // 設定精靈的位置
    apple1->setPosition(Vec2(visibleSize.width/2-100, visibleSize.height/2));
    // 將精靈的透明度設定為0,可以更好的觀察淡入效果
    apple1->setOpacity(0);
    // 將精靈新增為當前層的子節點
    this->addChild(apple1);
    // 建立一個FadeIn動作,執行該動作的節點會在5秒內淡入
    auto fadeIn = FadeIn::create(5);
    // 反轉FadeIn動作,即節點會在5秒內淡出
    auto fadeInReverse = fadeIn->reverse();
    // 精靈按順序執行fadeIn和fadeInReverse動作
    apple1->runAction(Sequence::create(fadeIn,fadeInReverse, NULL));
    // 建立第二個精靈
    auto apple2 = Sprite::create("CloseNormal.png");
    apple2->setPosition(Vec2(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;
}