본문 바로가기

Programming/Cocos2d-x (with. cpp & java )

AppDelegate::applicationWillEnterForeground

void AppDelegate::applicationWillEnterForeground()
{ 
	/* backGround에 있던 앱이 호출(?)될때 */
	// ...
	// 뭔가의 활동
	// ...
}

위와같은 상태에서

안드로이드의 상태바(notification bar)를 띄웠다가 없앴을 경우

applicationWillEnterForeground() 가 호출된다.

 

차이점이라면 홈버튼 혹은 다른 요소들에 의하여 background로 들어갔다 다시 띄울때와는 달리

상태바는 AppDelegate::applicationDidEnterBackground()를 호출하지 않고

바로 AppDelegate::applicationWillEnterForeground()를 호출한다.

 

class AppDelegate : private cocos2d::Application
{ 
public:
    void applicationDidEnterBackground();
    void applicationWillEnterForeground();
    bool isFocusChange = false;
};

void AppDelegate::applicationDidEnterBackground() 
{
    /* 앱이 backGround로 들어갈 때*/
    this->isFocusChange = true;
}

void AppDelegate::applicationWillEnterForeground()
{ 
    if( this->isFocusChagne == true )
    {
    	this->isFocusChange = false;
        // ...
        // 뭔가의 활동
        // ...
    }
}

 

bool 변수(isFocuse) 하나 추가하고, applicationDidEnterBackground()에서 true로 바꾸고

applicationWillEnterForeground()에 if(isFocuse) 해주고 나머지 소스를 추가하면 된다.