从cpp测试中获取香草cocos2dx函数的EXC_BAD_ACCESS
Getting EXC_BAD_ACCESS on vanilla cocos2dx function taken from cpp-tests
我正在编写一款战舰游戏,当我点击除网格中的一个方块之外的任何东西时,它似乎会崩溃。下面是抛出异常的函数:
Size Texture2D::getContentSize() const
{
Size ret;
ret.width = _contentSize.width / CC_CONTENT_SCALE_FACTOR(); // error here
ret.height = _contentSize.height / CC_CONTENT_SCALE_FACTOR();
return ret;
}
我用于正方形的触摸对象在这里:
bool Square::containsTouchLocation(Touch* touch)
{
return getTouchRect().containsPoint(convertTouchToNodeSpaceAR(touch));
//touch->getLocation().y
}
Rect Square::getTouchRect()
{
auto s = getTexture()->getContentSize();
return Rect(-s.width/ 2, -s.height/ 2, s.width, s.height);
}
从提供的有限信息来看,getTexture()似乎返回了一个错误的值。_contentSize。width是你第一次尝试访问Texture2D对象上的内存位置,所以这就是它崩溃的地方。
相关文章:
- 使用来自 Excel VBA 的 C++ dll 时"Bad DLL calling convention" - 如何解决?
- C++17 编解码器在将标准::字符串转换为标准::字符串时抛出"bad conversion"
- 对于代理容器上的迭代器来说,"least bad implementation"可能是什么?
- 获取错误:在抛出"std::bad::alloc"的实例后终止调用 what(): std::bad_alloc
- 为什么 GetSystemMetrics (SM_CXVIRTUALSCREEN) 返回'bad'值?
- 将 lambda 传递给 STL 集时出错"bad function call"
- 新的 C++14 位分隔符处"Bad Character" Eclipse Oxygen 错误
- 使用 #define 被认为是"bad practice"吗?
- "400 Bad request"使用 OpenSSL BIO 进行请求时
- 解密文件AES_256_CBC返回"bad decrypt"错误
- 在C++流中,eof(),fail(),bad()和good()有什么区别
- make / gcc:"bad build"的可能原因是什么?
- 什么是地址0xbaddc0dedeadbead "Bad decode dead bead"
- 在多线程环境中,什么可能导致"bad file descriptor"?
- "std::vector"在调整大小时引发"bad allocation"异常
- 尝试使用 execp、dup2 和管道实现 shell,挂起或"bad file descriptor"
- OpenCV SVM 在火车上抛出异常,"Bad argument (There is only a single class)"
- 成员函数 bad() 的 std::ftsream 用于检查
- 使用 boost::asio 和 boost::thread 时"Bad file descriptor"
- OpenCV C++神经网络 predict() 函数抛出"Bad argument"错误