Как получить ширину и высоту CCSprite в cocos2d для iphone
Чтобы вопрос xD
Учитывая экземпляр CCSprite в cocos2d в iphone, какой метод я могу использовать для получения ширины и высоты изображения?
Ответы
Ответ 1
Класс CCSprite имеет свойство ограничивающего прямоугольника, что CGRect:
CCSprite *sprite = [CCSprite spriteWithFile: @"file.png"];
int width = [sprite boundingBox].size.width;
Я добавил методы ширины и высоты в мой подкласс CCSprite.
-(CGFloat) width
{
return [self boundingBox].size.width;
}
-(CGFloat) height
{
return [self boundingBox].size.height;
}
Ответ 2
необработанная ширина:
sprite.contentSize.width
необработанная высота:
sprite.contentSize.height
текущая ширина:
sprite.contentSize.width * sprite.scaleX
Текущая высота:
sprite.contentSize.height * sprite.scaleY
Ответ 3
IN cocos2d-x
sprite->boundingBox().size.width;
sprite->boundingBox().size.height;
Ответ 4
В cocos2d-x v3.x, boundingBox
устарел в классе Node (т.е. суперкласс Sprite). Вместо этого используйте следующий код:
auto spriteWidth = sprite->getTextureRect().size.width;
auto spriteHeight = sprite->getTextureRect().size.height;
или
auto spriteWidth = sprite->getContentSize().width;
auto spriteHeight = sprite->getContentSize().height;