begin process at 2012 05 26 18:56:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

classe personnalisée et DepthManager


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

classe personnalisée et DepthManager

jeudi 10 août 2006 à 15:28:06 | classe personnalisée et DepthManager

fredericleput

j'ai construit une petite classe Element pour tester quelques petits trucs. Elle contient une propriété _mcConteneur de type MovieClip qui me sert à attacher un clip vide issu de la bibliothèque (nom de liaison mc_vide). J'ai ensuite créé une méthode dessine qui doit attacher à l'intérieur de _mcConteneur un autre clip issu de la bibliothèque (nom de liaison  mc_bouton). Pour gérer les profondeurs j'utilise la classe DepthManager (indispensable si on veut par la suite utiliser des composants V2...)

Mon problème est que si je teste cela je n'ai aucune erreur mais je n'ai aucun clip d'afficher sur la scène... Si quelqu'un peut m'indiquer mon erreur...

=======================================================================
le fichier de la classe Element du package com

/*
Classe Element
*/

// pour gérer les profondeurs
import mx.managers.DepthManager;
 
 class com.Element extends MovieClip
{
    // clip vide contenant les autres
    private var _mcConteneur:MovieClip;
    
    // clip bouton pour la représentation graphique
    private var _mcBouton:MovieClip;
    
    // gestion des profondeurs
    private var createChildAtDepth:Function;
    
    // Constructeur
    function Element()
    {
        trace("[Element] Constructeur");
        _mcConteneur = this.createChildAtDepth("mc_vide", DepthManager.kTop);
    }
    
    // dessine l'élément
    public function dessine(Void):Void
    {
        trace("dessine");
        _mcBouton = _mcConteneur.createChildAtDepth("mc_bouton", DepthManager.kTop);
    }
}

=======================================================================
dans le .fla de test voici le code

import com.Element;

var element1:Element = new Element();
element1.dessine();
jeudi 10 août 2006 à 17:14:00 | Re : classe personnalisée et DepthManager

Mafassure

Membre Club Administrateur CodeS-SourceS
salut,

ta class etand MovieClip, elle ne peut pas etre instancier  "new" !! elle doit etre lié a movieClip et l'instantion ce fera lorsque le clip apparaitra sur la scene (soit avec l'ide , soit attacheMovie)

jeudi 10 août 2006 à 17:16:15 | Re : classe personnalisée et DepthManager

fredericleput

ok admettons, je suis donc obliger de créér un clip dans la bibliotheque, de le lier à ma classe Element et de l'attacher ensuite sur la scene.... je teste pour voir
jeudi 10 août 2006 à 17:35:30 | Re : classe personnalisée et DepthManager

fredericleput

comprends toujours pas....

j'ai créér un clip nommé mcElement avec un identifiant de liaison mcElement, et lié avec ma classe AS2 com.Element.

j'ai modifié ma classe de la manière suivante

// pour gérer les profondeurs
import mx.managers.DepthManager;
 
 class com.Element extends MovieClip
{
    // clip vide contenant les autres
    private var _mcConteneur:MovieClip;
   
    // gestion des profondeurs
    private var createChildAtDepth:Function;
   
    // Constructeur
    function Element()
    {
        trace("[Element] Constructeur");
    }
   
    public function dessine(Void):Void
    {
        _mcConteneur = this.createChildAtDepth("mc_bouton", DepthManager.kTop);
       
        if(_mcConteneur == null)
        {
            trace("pb");
        }
    }
}

dans le fla je fais :

import mx.managers.DepthManager;
import com.Element;

_root.attachMovie("mcElement","elmt1",1);
elmt1.dessine();

le constructeur de la classe est bien appelé (en sortie j'ai bien mon action trace)
mais la fonction dessine ne fonctionne toujours pas.

et je n'ai toujours rien sur la scène.... En plus j'utilise attachMovie (j'aime pas ça mais bon...)

En tous cas merci de te pencher sur le problème (j'ai posté le même message sur d'autres forum depuis plus de 2 heures et toujours pas de réponse)
vendredi 11 août 2006 à 11:46:33 | Re : classe personnalisée et DepthManager

Mafassure

Membre Club Administrateur CodeS-SourceS
salut,

a tu résolu ton pb ??
je ne connais pas DepthManager, la live doc indique pourtant que la methode createChildAtDepth() retourn une occurance mais je sais pas pourquoi ici ca marche pas 
 sinon crée l'instant de mcConteneur avec createEmptyMovieClip
 function Element()
    {
        trace("[Element] Constructeur");
        _mcConteneur = this.createEmptyMovieClip("_mcConteneur", DepthManager.kTop);
        trace(_mcConteneur.getDepth());
       
    }
  
et pareil pour le bouton





vendredi 11 août 2006 à 18:28:30 | Re : classe personnalisée et DepthManager

fredericleput

Réponse acceptée !
Salut, ça y est c'est résolu. Pour info la classe DepthManager fonctionne très bien mais pour cela il faut absolument avoir un composant V2 dans la bibliothèque. Mon problème n'était donc pas au niveau du code.... Merci


Cette discussion est classée dans : element, clip, classe, depthmanager, mcconteneur


Répondre à ce message

Sujets en rapport avec ce message

Classe extend MovieClip AS 2 probleme [ par Prouprou_Sensei ] Salut a tous!J'ai un petit probleme avec une de mes animations. Clairement j'ai un clip sur la scene et je voudrais le convertir en une autre classe.M Pleins de petites questions d'un débutant....HELP PLEASE!! [ par juju2chaussette ] Salut à tous,Je sui en stage info et je débute en Flash, je dois à partir récupérer les données d'un fichier XML et les afficher dans mon doc Flash : Evenement de clip qui pointe sur une fonction d'une classe [ par francois44 ] Bonjour,Je suis en train de créer une classe créant des clips à la dynamiquement pour réaliser un menu. La première étape sui consiste à créer le menu Classe et createEmptyMovieClip [ par ludm ] BOnjour,J'ai créé une classe, dans son constructeur, je fais un :monClip=createEmptyMovieClip("clip",1);puis monClip.loadMovie("adresse.swf");Quand je attacher un movieclip à chacun des objets de ma classe [ par phpemilie ] Bonjour,J'ai créé une classe et je voudrais qu'à chacun des objets de cette classe soit rattaché un movieclip que je pourrais manipuler sur la scène.M [ AS 3 ] Distinction d'un clip par sa classe [ par ptitvincent ] Bonjour, j'ai positionné "à la main" un clip en plusieurs exemplaire depuis ma bibliothèque avec comme classe "stopeur" maintenant j'aimerais les dis getNextHighestDetph / DepthManager [ par goldenboy68 ] Bonjour TLM,Je me suis cassé la tête sur le pb hier soir, mais j'ai pas trouvé la bonne utilisation de cette classe DepthManager dans mon cas.J'utilis AS3: Manipuler un clip de la racine depuis une autre classe [ par Feizenbara ] Bonsoir, Après avoir bidouillé un peu avec Flash MX2004 en AS2, je viens de passer à CS4 avec AS3... et j'ai vraiment du mal à faire propre. Mon sou Attacher plusieurs clips dans un même clip créé dans une classe [ par buzhug35 ] Attacher plusieurs clips dans un même clip créé dans une classe [ par buzhug35 ]


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 10,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales