Как получить размер CCSprite после изменения масштаба - PullRequest
7 голосов
/ 31 января 2012

Это не работает:

CCSprite *testscale=[CCSprite spriteWithSpriteFrame:starFrame];
        testscale.scale=0.5;
float starWidth=testscale.contentSizeInPixels.width;
        CCLOG(@"contentpixels: %f contentsize: %f",starWidth, testscale.contentSize.width);

Оба выхода в CCLOG показывают исходный размер спрайта в пикселях, а не размер после масштабирования.

Есть ли способ получить его без этого? ...

float displayWidth=starWidth*testscale.scale;

1 Ответ

14 голосов
/ 31 января 2012

Используйте свойство boundingBox в CCNode:

[testscale boundingBox].size.width
[testscale boundingBox].size.height

Это должно дать вам желаемую ширину и высоту, принимая во внимание любое преобразование (масштабирование, вращение), которое вы произвели в спрайте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...