<COCOS2D-X>

6. Acceleration 적용하기

CodeGrimie 2021. 2. 9. 11:57

이번에 만드는 게임에 사용할 것은 아니었지만 문득 궁금해서 찾아봤다.

이걸 이용해서 다양하고 재밌는 상호작용을 할 수 있을 꺼 같긴 한데 내 스타일의 상호작용은 아니다.

 

구현법 자체는 여타 이벤트들과 차이가 없어서 어렵지 않다.

 

▼ 헤더 파일 선언

/* ACCELERATION */
virtual void onAcceleration(Acceleration* acc, Event* unused_event) override;

 

▼ 이벤트리스너 등록

void MainLayer::onEnter()
{
    Layer::onEnter();

    EventListenerAcceleration* accListener = EventListenerAcceleration::create(CC_CALLBACK_2(MainLayer::onAcceleration, this));
    _eventDispatcher->addEventListenerWithSceneGraphPriority(accListener, this);
}

 

▼ 이벤트리스너 해제

void MainLayer::onExit()
{
    Layer::onExit();
    _eventDispatcher->removeAllEventListeners();
}

 

▼ onAcceleration 함수 사용 예제

void MainLayer::onAcceleration(Acceleration* acc, Event* unused_event)
{
    /* PRINT ACCELERATION */
    char text[256];
    sprintf(text, "X : %f Y : %f Z : %f", acc->x, acc->y, acc->z);
    accelLabel->setString(text);
}