La classe Sprite

Créer un conteneur d'objets visuels

Nous avons vu dans un billet précédent l'utilisation des classes Shape et Graphics pour faire du dessin vectoriel.
La classe Sprite va nous permettre de réaliser la même chose à la différence qu'un objet de type Sprite pourra contenir plusieurs dessins de type Shape. En effet, cette classe est similaire à la classe MovieClip mais elle ne possède pas de timeline.
D'autre part, contrairement à la classe Shape, la classe Sprite possède des événements utilisateurs (souris, clavier...)

Actionscript:
  1. // création de l'instance du rectangle bleu
  2. var rectangleBleu:Shape = new Shape();
  3. // Le rectangle sera rempli de bleu
  4. rectangleBleu.graphics.beginFill(0x0000FF);
  5. // dessin du rectangle avec la méthode drawRect(x, y, width, height)
  6. rectangleBleu.graphics.drawRect(50, 30, 100, 30);
  7. // création de l'instance du carré rouge
  8. var carreRouge:Shape = new Shape();
  9. // Le carre sera rempli de rouge
  10. carreRouge.graphics.beginFill(0xFF0000);
  11. // dessin du rectangle avec la méthode drawRect(x, y, width, height)
  12. carreRouge.graphics.drawRect(120, 50, 50, 50);
  13. /* Ces 2 formes seront assemblées pour ne former qu'un seul visuel, on va donc créer le conteneur */
  14. var logo:Sprite = new Sprite();
  15. // Ajout des formes dans le logo
  16. logo.addChild(rectangleBleu);
  17. logo.addChild(carreRouge);
  18. // Evénement click du logo
  19. function clicLogo(evt:MouseEvent):void
  20. {
  21.     trace("Evénement de type : "+evt.type);
  22. }
  23. // Evénement survol du logo
  24. function survolLogo(evt:MouseEvent):void
  25. {
  26.     trace("Evénement de type : "+evt.type);
  27. }
  28. // Evénement click du logo est défini
  29. logo.addEventListener(MouseEvent.CLICK, clicLogo);
  30. // Evénement survol du logo est défini
  31. logo.addEventListener(MouseEvent.MOUSE_OVER, survolLogo);
  32. // affichage du logo dans la séquence
  33. this.addChild(logo);

;)