2010-12-03 25 views
2

J'ai du mal à comprendre les événements personnalisés et je reçois toujours la même erreur:
1203: Aucun constructeur par défaut trouvé dans la classe flash flash.events:Event.
J'ai essayé de lire en ligne pour une solution, mais rien ne m'a aidé. Je me demandais quelle est mon erreur. Fondamentalement, ce que je veux faire est de créer une classe qui, selon le niveau de difficulté (3 au total), créera différents objets sur la scène. Voici le code:Erreur # 1203: Aucun constructeur par défaut

Je l'appelle avec un dispatchEvent comme ceci:

dispatchEvent(new creationObjets(_Difficulte)); 

puis,

package cem{ 
    import flash.events.*; 
    import flash.display.*; 

    public class creationObjets extends Event 
    { 
     public function creationObjets(pDifficulte) { 
      trace(pDifficulte); 
     } 
    } 

} 

Je ne sais pas ce que je ne fais pas de mal (ou tout simplement ce que je suis faire, période ... haha). Si vous connaissez la réponse, peut-être qu'une petite explication m'aiderait beaucoup! Merci!

* edit: je viens d'ajouter super (pDifficulte); après la trace et aucune erreur est venue. Je n'ai aucune idée de ce que super() fait. Je viens de le faire en me basant sur des exemples ...

+1

Pourquoi importez-vous les classes flash.display. *? ... – PatrickS

+0

Je testais des choses plus tôt, je ne les supprimais pas! hehe – Elggetto

Répondre

8

Vous devriez faire quelque chose comme ceci:

public class NewClass extends Event{ 
    public function NewClass(type:String) { 
     super(type); 
     trace("whatever"); 
    } 
} 

La méthode super() appelle le constructeur de la classe de l'événement. Vous devriez le connaître si vous avez des connaissances sur la POO. L'équivalent C# est

+1

Très bien, merci beaucoup! Je pense que je comprends mieux maintenant. Le problème est que je l'apprends à l'école, mais nous sautons beaucoup d'informations de base. Donc je comprends des choses que je ne suis pas supposé comprendre à ce stade, mais je ne suis même pas au courant de trucs basiques comme ça! haha. Quoi qu'il en soit, j'apprends une (cent) erreur (s) à la fois. Merci!! – Elggetto

2

Le code super() exécute la méthode dans la classe que vous étendez. Dans ce cas, il exécutera le constructeur dans la classe Event.

+0

Yess! Merci d'avoir répondu! Il n'était nulle part aussi clair que ces deux lignes partout où je cherchais! – Elggetto