29 votes

comment obtenir la largeur et la hauteur d'un CCSprite dans cocos2d pour iphone

Voilà la question xD

Étant donné une instance d'un CCSprite dans cocos2d sur iphone, quelle méthode puis-je utiliser pour obtenir la largeur et la hauteur de l'image?

53voto

robterrell Points 646

La classe CCSprite a une propriété de boîte englobante qui est un CGRect:

   CCSprite *sprite = [CCSprite spriteWithFile: @"file.png"];
  int width = [sprite boundingBox].size.width;
 

J'ai ajouté des méthodes de largeur et de hauteur à ma sous-classe CCSprite.

 -(CGFloat) width
{
    return [self boundingBox].size.width;
}

-(CGFloat) height
{
    return [self boundingBox].size.height;
}
 

38voto

yubenyi Points 564

largeur brute:
sprite.contentsize.width

hauteur brute:
sprite.contentSize.height

largeur actuelle: sprite.contentSize.width * sprite.scaleX

hauteur actuelle: sprite.contentSize.height * sprite.scaleY

0voto

GaloisPlusPlus Points 169

Dans cocos2d-x v3.x, boundingBox est déconseillé dans la classe Node (c'est-à-dire la super classe de Sprite ). Utilisez plutôt le code suivant:

 auto spriteWidth = sprite->getTextureRect().size.width;
auto spriteHeight = sprite->getTextureRect().size.height;
 

ou

 auto spriteWidth = sprite->getContentSize().width;
auto spriteHeight = sprite->getContentSize().height;
 

0voto

Singhak Points 911

DANS cocos2d-x

 sprite->boundingBox().size.width;

sprite->boundingBox().size.height;
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X