Получение EXC_BAD_ACCESS для ванильной функции cocos2dx, взятой из 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);

}

0

Решение

Из предоставленной ограниченной информации кажется, что getTexture () возвращает неверное значение. _contentSize.width — это первый раз, когда вы пытаетесь получить доступ к области памяти на объекте Texture2D, где он и падает.

0

Другие решения


По вопросам рекламы [email protected]