我正在写一个战舰游戏,当我点击网格中的一个方块以外的任何东西时它似乎崩溃了。这是吐出异常的函数:
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);
}
答案 0 :(得分:0)
从提供的有限信息来看,getTexture()似乎返回了一个错误的值。 _contentSize.width是您第一次尝试访问Texture2D对象上的内存位置,因此它就是崩溃的地方。