2012-01-31 30 views
7

Questo non funziona:Come ottenere la dimensione di CCSprite dopo aver cambiato scala

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

Le due uscite in CCLOG sia mostrano la dimensione dei pixel originali dello sprite, non la dimensione dopo la scalatura.

C'è un modo per farlo senza fare questo ...

float displayWidth=starWidth*testscale.scale;

risposta

14

Utilizzare la proprietà boundingBox di CCNode:?

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

Questo dovrebbe dare la larghezza e altezza desiderata, tenendo conto di eventuali trasformazioni (ridimensionamento, rotazione) apportate allo sprite.

Problemi correlati