카테고리 없음

cocos2dx onTouchBegan replaceScene error 에러

ㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇ 2025. 1. 3. 18:36

onTouchBegan replaceScene 에러

아직도 정확한 에러 원인은 모르겠지만 기록.A, B 씬 이동을 왔다갔다 하는데 이 때 배경을 터치하면 다른 화면으로 이동한다.유독 B씬에서 A로 넘어갈때 크래시가 났다. 디버그가 안된다고 스택도 안뜨고..그러다가 간간히 아래와 처럼 떴다.

baseproject.exe![thunk]:GameScene::`vcall'{688,{flat}}' }'() C++
  libcocos2d.dll!std::_Func_class<int,enum cocos2d::ui::Widget::FocusDirection,class cocos2d::ui::Widget *>::operator()(enum cocos2d::ui::Widget::FocusDirection,class cocos2d::ui::Widget *) C++
  libcocos2d.dll!cocos2d::EventDispatcher::EventListenerVector::~EventListenerVector(void) C++
  libcocos2d.dll!std::_Hash<class std::_Umap_traits<float,class std::vector<class cocos2d::Node *,class std::allocator<class cocos2d::Node *> >,class std::_Uhash_compare<float,struct std::hash<float>,struct std::equal_to<float> >,class std::allocator<struct std::pair<float const ,class std::vector<class cocos2d::Node *,class std::allocator<class cocos2d::Node *> > > >,0> >::_Range_eraser::_Bump_erased(void) C++
  libcocos2d.dll!std::_Func_class<float,float>::operator()(float) C++
> libcocos2d.dll!cocos2d::EventDispatcher::dispatchTouchEventToListeners(class cocos2d::EventDispatcher::EventListenerVector *,class std::function<bool (class cocos2d::EventListener *)> const &) C++
  libcocos2d.dll!cocos2d::EventDispatcher::dispatchTouchEvent(class cocos2d::EventTouch *) C++
  libcocos2d.dll!cocos2d::EventDispatcher::dispatchEvent(class cocos2d::Event *) C++
  libcocos2d.dll!cocos2d::GLView::handleTouchesBegin(int,int * const,float * const,float * const) C++
  libcocos2d.dll!cocos2d::GLViewImpl::onGLFWMouseCallBack(struct GLFWwindow *,int,int,int) C++
  libcocos2d.dll!cocos2d::GLFWEventHandler::onGLFWMouseCallBack(struct GLFWwindow *,int,int,int) C++
  libcocos2d.dll!__glfwInputMouseClick() C
  libcocos2d.dll!_glfwGetWin32Window() C
  user32.dll!764215fb() 알 수 없음
  [아래 프레임이 누락 및/또는 올바르지 않음, user32.dll에 대해 로드된 기호가 없음]
  [외부 코드]

dispatchTouchEvent 라고 적혀 있으니까 터치 이벤트에 관한 건가 싶어서

씬 생성 부분을 빨리 만들어주기도 하고... 여러모로 해봤으나 실패.그냥 버튼으로 하자고 해서 했더니 에러가 없었다.아무곳에나 터치X 그냥 버튼으로 하는게 답인가 싶다.