2012-01-31 8 views
7

Esto no funciona:Cómo obtener el tamaño de CCSprite después de cambiar la escala

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

Las dos salidas en CCLOG ambos muestran el tamaño del píxel original del sprite, no el tamaño después de escalar.

¿Hay una manera de conseguirlo sin hacer esto ...

float displayWidth=starWidth*testscale.scale;

Respuesta

14

uso de la propiedad boundingBox CCNode:?

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

Esto debe darle la anchura y altura que desee, teniendo en cuenta cualquier transformación (escala, rotación) que haya realizado en el elemento.

Cuestiones relacionadas