Подтвердить что ты не робот

Как получить ширину и высоту CCSprite в cocos2d для iphone

Чтобы вопрос xD

Учитывая экземпляр CCSprite в cocos2d в iphone, какой метод я могу использовать для получения ширины и высоты изображения?

4b9b3361

Ответ 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;