Ich habe diese Zeilen Code bekamCocos2d-x removeChild wierd arbeitet
for (auto view : views)
{
view->update(deltaTime);
if (view->isDead())
{
trash.push_back(view);
removeChild(view, true);
}
}
Und es bricht bei removeChild(view, true);
Linie.
Dies ist mein Stack-Trace.
ucrtbased.dll!00007ffab25ac2f1() Unknown
ucrtbased.dll!00007ffab25af8a5() Unknown
TankGame.exe!operator delete(void * block) Line 21 C++
TankGame.exe!operator delete(void * block, unsigned __int64 __formal) Line 16 C++
TankGame.exe!WorldModel::`scalar deleting destructor'(unsigned int) C++
TankGame.exe!std::_Ref_count<WorldModel>::_Destroy() Line 153 C++
TankGame.exe!std::_Ref_count_base::_Decref() Line 113 C++
TankGame.exe!std::_Ptr_base<WorldModel>::_Decref() Line 339 C++
TankGame.exe!std::shared_ptr<WorldModel>::~shared_ptr<WorldModel>() Line 567 C++
TankGame.exe!std::shared_ptr<WorldModel>::operator=(std::shared_ptr<WorldModel> && _Right) Line 555 C++
TankGame.exe!ZombieModel::~ZombieModel() Line 14 C++
[External Code]
> TankGame.exe!ZombieView::~ZombieView() Line 11 C++
[External Code]
libcocos2d_v3.13.1_Windows_10.0.dll!cocos2d::Ref::release() Line 138 C++
libcocos2d_v3.13.1_Windows_10.0.dll!cocos2d::Vector<cocos2d::Node * __ptr64>::erase(__int64 index) Line 443 C++
libcocos2d_v3.13.1_Windows_10.0.dll!cocos2d::Node::detachChild(cocos2d::Node * child, __int64 childIndex, bool doCleanup) Line 1119 C++
libcocos2d_v3.13.1_Windows_10.0.dll!cocos2d::Node::removeChild(cocos2d::Node * child, bool cleanup) Line 1020 C++
libcocos2d_v3.13.1_Windows_10.0.dll!cocos2d::Sprite::removeChild(cocos2d::Node * child, bool cleanup) Line 778 C++
TankGame.exe!WorldView::update(float deltaTime) Line 51 C++
TankGame.exe!GameScene::update(float deltaTime) Line 55 C++
libcocos2d_v3.13.1_Windows_10.0.dll!cocos2d::Scheduler::scheduleUpdate::__l2::<lambda>(float dt) Line 285 C++
[External Code]
libcocos2d_v3.13.1_Windows_10.0.dll!cocos2d::Scheduler::update(float dt) Line 861 C++
libcocos2d_v3.13.1_Windows_10.0.dll!cocos2d::Director::drawScene() Line 274 C++
libcocos2d_v3.13.1_Windows_10.0.dll!cocos2d::DisplayLinkDirector::mainLoop() Line 1397 C++
libcocos2d_v3.13.1_Windows_10.0.dll!cocos2d::GLViewImpl::OnRendering() Line 482 C++
libcocos2d_v3.13.1_Windows_10.0.dll!cocos2d::GLViewImpl::Render() Line 474 C++
TankGame.exe!Cocos2dRenderer::Draw(int width, int height, float dpi, Windows::Graphics::Display::DisplayOrientations orientation) Line 137 C++
TankGame.exe!CocosAppWinRT::OpenGLESPage::StartRenderLoop::__l2::<lambda>(Windows::Foundation::IAsyncAction^action) Line 272 C++
[External Code]
Und ich kann nicht bekommen, was es von mir will. Es ruft einen View Destructor auf und das war's! Bam! Abgestürzt! Destruktor der Ansicht ist leer und ich bin komplett verloren.