마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

cocos2dx 터치 이벤트 후 액션 완료시까지 터치 비활성화에 대해

0 추천
cocos2dx 걸음마중인 초보입니다.

 

CCSprite로 게임 오브젝트를 만들었습니다.

 

그리고 그 오브젝트를 터치해서 움직이게 하는데,

움직이는 액션이 끝나기 전에 추가적인 터치 이벤트를 막는 방법에 대해 알고 싶습니다.

지금 상태로는 액션이 끝나기 전에 또 다른 입력을 받아서 예상과 다른 움직임이 나와버리네요...

 

단순히 액션 이벤트에 setTouchEnabled를 이용해도 안되고,

sleep을 함부로 쓰자니 그것도 아니고...

 

혹시 스레드를 이용해서 백그라운드에서 액션 시간 만큼의 터치 중지를 해야 하는 건가요?
익명사용자 님이 2014년 2월 14일 질문

2개의 답변

0 추천

bool SampleLayer::ccTouchBegan ( CCTouch* pTouch, CCEvent* pEvent )
{
	if ( !m_bIsAction )
	{
		CCCallFunc*			pChangeAction = CCCallFunc::create ( this, callfunc_selector ( SampleLayer::changeActionState ) );
		CCRotateBy*			pRotate = CCRotateBy::create ( 2, 360 );

		CCSequence*			pSequence = CCSequence::create ( pChangeAction, pRotate, pChangeAction, NULL );

		m_pSprite->runAction ( pSequence );
	}

	return true;
}

void SampleLayer::changeActionState ( void )
{
	m_bIsAction = !m_bIsAction;
}
안티푸라면 (6,700 포인트) 님이 2014년 2월 15일 답변
0 추천
CCCallFuncN 을 사용하시기 바랍니다.
익명사용자 님이 2014년 2월 16일 답변
...