Ответ за 2018 год (Cocos2d-x v3.x:)
Другие ответы являются неполными и устаревшими.
Обратите внимание, что я использую JavaScript ниже вместе с деструктурирующим синтаксисом присваивания . Обязательно ознакомьтесь с документацией Cocos API для вашей языковой реализации.
getBoundingBox ()
Дает вам:
- Масштабированный размер (размер после
setScale()
применяется к спрайту).
- Координаты спрайта на экране. Обратите внимание, что по умолчанию
anchorPoint
для спрайтов (0,5, 0,5), в то время как эта координата представляет позицию (0, 0). Другими словами, если anchorPoint установлен по умолчанию, то getBoundingBox().x
+ getBoundingBox().width
/ 2 = getPosition().x
(значение x, установленное в setPosition()
).
Пример: * * тысяча двадцать-восемь
const boundingBox = sprite.getBoundingBox();
const { x, y, width, height } = boundingBox;
getContentSize ()
Дает вам:
- немасштабированный размер.
Пример:
const contentSize = sprite.getContentSize();
const { x, y } = contentSize;
getTextureRect ()
Дает вам:
- немасштабированный размер.
- Координаты спрайта на текстуре, из которой он извлечен (т.е. лист спрайта)
Пример: * 1 052 *
const textureRect = sprite.getTextureRect();
const { x, y, width, height } = textureRect;