메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

cocos2d와 달리,

윈도우 환경에서 cocos2d-x 프로그램을 짜보면

상속을 받았음에도 update, ccTouchesBegan 등의 함수가 작동되지 않음을 알 수 있다.


터치 해결법:

OnEnter와 OnExit를 추가하고,

다음 같이 적어준다.


void HelloWorld::onEnter()

{

//단일 터치일 때. ccTouchBegan을 활성화 시켜준다.

    //CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this, 0, true); 


//다중 터치일 때. ccTouchesBegan을 활성화 시켜준다.

CCTouchDispatcher::sharedDispatcher()->addStandardDelegate(this, 0);


CCLayer::onEnter();

}


void HelloWorld::onExit()

{

CCTouchDispatcher::sharedDispatcher()->removeDelegate(this);

CCLayer::onExit();

}


이렇게 한 뒤, 터치 처리 부분에 브레이크 포인트를 걸어보면 정상적으로 작동된다는 걸 알 수 있다.


update를 작동하게 하려면, 스케쥴러를 등록해줘야 한다.

CCScene* HelloWorld::scene()
{
    CCScene * scene = NULL;
    do 
    {
        // 'scene' is an autorelease object
        scene = CCScene::node();
        CC_BREAK_IF(! scene);

        // 'layer' is an autorelease object
        HelloWorld *layer = HelloWorld::node();
        CC_BREAK_IF(! layer);

        // add layer as a child to scene
        scene->addChild(layer);

layer->schedule(schedule_selector(HelloWorld::update));
    } while (0);

    // return the scene
    return scene;
}

빨간 색으로 된 부분. 이것을 추가해줘야 update가 프레임별로 발생한다.

근데, 굳이 이렇게 작동하게 할 거면 상속은 도대체 무슨 의미가 있는가 의문이 든다...
사실 다른 함수 만들고 저기에 등록해도 update와 같은 역할을 한다.

태그 :
조회 수 :
10656
등록일 :
2011.10.27
07:53:38 (*.140.69.47)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=385031
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
185 express.js 세션 적용 후 리다이렉트 시 세션 적용이 제대로 안 되는 문제점 노루발 2024-02-07 4
184 Bootstrap4 container class가 적용된 div의 양 옆에 설정하지 않은 margin이 생김 노루발 2024-02-07 5
183 리캡챠 적용 [1] 노루발 2021-01-08 11
182 certbot을 이용한 HTTPS 인증서 발급 및 적용 노루발 2021-01-12 18
181 love2d에서 안드로이드 터치 제스처 인식하기 노루발 2020-11-12 20
180 Lua-love2d TCP 통신 [1] 노루발 2023-07-14 21
179 illegal character 방지 [3] 노루발 2023-07-17 22
178 Lua 클래스 만들고 활용하기 노루발 2020-11-06 23
177 Lua 테이블 안에 함수 저장하기 노루발 2020-11-06 28
176 루아 스타일 가이드 노루발 2020-11-19 33
175 Lua 인수로 nil값이 들어왔을 경우 처리하기 노루발 2020-11-06 35
174 이쁜 눈나가 유니티 개발 알려주는 재생목록 노루발 2020-11-12 37
173 Love2d 이미지 하얗게 그리기 노루발 2020-11-23 42
172 Love2d 게임 안드로이드로 패키징하기 노루발 2021-01-11 48
171 특정좌표를 기준으로 zoom in/zoom out하기 노루발 2020-11-11 58
170 Windows To Go와 R-Studio를 이용한 손실된 데이터 복구하기 노루발 2020-01-30 88
169 Oracle cloud에 Nginx/MariaDB 설치하기 노루발 2020-12-06 93
168 Love2d DPI 이슈 해결 [3] 노루발 2019-06-29 97
167 Love2d로 만든 로그라이크 예제 노루발 2020-11-30 252
166 love.update(dt) 에서 버벅이는 현상. 노루발 2013-09-17 256