Forums Développement Multimédia

Aller au contenu

Creer un conteneur d'objets

CODE TUTO ConteneurActionScript ActionScript

2 réponses à ce sujet

#1 alpha_job

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 54 messages

Posté 09 January 2015 - 23:58 PM

Bonjour.
Je voudrai creer un conteneur d'objet en Actionscript (une zone rectangulaire) et faire de sorte que les objets qu'il contient (un cercle par exemple) ne quittent jamais cette zone. En suite, toutes les fois quand je lance mon logiciel (quelque soit la taille de l'ecran), que cette zone soit au milieu. Merci.

#2 pcxpert

    Ceinture Orange

  • Members
  • PipPipPip
  • 32 messages

Posté 10 January 2015 - 11:44 AM

Tu trouvera ce que tu recherche sur ce lien http://www.lcocoboard.com/?p=1323 :) et pour l'emplacement suffit de déclarer les coordonner x et y ou simplement te crée un clip (sur la timeline) et le positionner la ou tu le veux.

#3 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6952 messages

Posté 10 January 2015 - 14:11 PM

Salut,

Citation

Je voudrai creer un conteneur d'objet en Actionscript

Un conteneur d'affichage s'appelle un displayobjectcontainer : http://help.adobe.co...&filter_air=2.6

Par extension tu as les DisplayObjects : http://help.adobe.co...&filter_air=2.6

Tu y retrouve nottament les MovieClip ( http://help.adobe.co...lay/Sprite.html ) et les Sprites ( http://help.adobe.co...lay/Sprite.html ) qui sont des MovieClip allégés car ne possédant pas de Timeline.

Citation

et faire de sorte que les objets qu'il contient (un cercle par exemple) ne quittent jamais cette zone

Tu n'as pas spécialement besoin d'un conteneur pour interdire à un objet de dépasser une certaine limite, un simple Rectangle suffit ( http://help.adobe.co...&filter_air=2.6 ). Tout dépend de la manière dont tu déplace tes objets, mais une petite fonction "limites" peut faire l'affaire, par exemple :


// crée une zone à ne pas dépasser
var zone:Rectangle = new Rectangle(10,10,300,150);

// limite le déplace de mes objets à cette zone
function limites(objet:*):void{

        if(objet.x < zone.x) objet.x = zone.x;
        if(objet.y < zone.y) objet.y = zone.y;
        if(objet.x > zone.x+zone.width) objet.x = zone.x+zone.width;
        if(objet.y < zone.y+zone.height) objet.y = zone.y+zone.height;

}
 


Il te suffit de passer l'objet dont tu veux limiter le déplacement en paramètre de la fonction "limites" pour qu'il ne sorte pas de du rectangle qu'on à défini juste au dessus. (Note : tu peux également regarder du côté de la méthode "intersect" de la classe Rectangle).

Citation

(quelque soit la taille de l'ecran), que cette zone soit au milieu

Regarder la taille du stage et calculer la position de la zone en fonction de sa propre taille.

// définir la zone
var zone:Rectangle = new Rectangle(0,0,300,150);
// positionner la zone au centre de l'écran
zone.x = (stage.stageWidth - zone.width)*0.5;
zone.y = (stage.stageHeight - zone.height)*0.5;
 




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP