Forums Développement Multimédia

Aller au contenu

Etendre DisplayObjectContainer

CODE Actionscript

5 réponses à ce sujet

#1 armetiz

  • Members
  • PipPipPipPipPipPipPipPip
  • 623 messages

Posté 02 September 2008 - 16:57 PM

Bonjour, comme un exemple est plus parlant que tout pleins de ligne de code.

Action Script


package
{
import flash.display.DisplayObjectContainer;

public class A extends DisplayObjectContainer
{
public function A()
{
trace (this + " a ");
}
}
}

Si l'on cherche à instancier A, erreur 2012 "Impossible d'instancier A ()".

Je suppose qu'il y a un rapport avec le fait que DisplayObjectContainer envoi un erreur à l'appel de son constructeur... Mais, et moi comment je fais ?
J'ai essai d'entourer le "super ()" d'un try/catch, mais rien n'y fait.

Merci à vous.

#2 dada

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 8510 messages

Posté 02 September 2008 - 17:10 PM

Salut,

Hérite de la classe Sprite, DisplayObjectContainer est une classe abstraite (= pas instanciable). smile.gif

#3 yoxos

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3757 messages

Posté 02 September 2008 - 17:14 PM

salut,

Citation (aide de flash)
DisplayObject est une classe de base abstraite. De ce fait, il est impossible de l’appeler directement. Appeler new DisplayObject() renvoie une exception ArgumentError.

La classe DisplayObjectContainer est une classe de base abstraite destinée à tous les objets pouvant contenir des objets enfants. Il est impossible de l'instancier directement. Appeler le constructeur new DisplayObjectContainer() renvoie une exception ArgumentError


étends Sprite icon_wink.gif


-édithe- grilloté par un chat icon_eek.gif gnaaaap icon_mrgreen.gif -gisèle-



#4 armetiz

  • Members
  • PipPipPipPipPipPipPipPip
  • 623 messages

Posté 03 September 2008 - 08:39 AM

Oki, c'est en effet plus simple.

Maintenant, le principe de classe abstraite n'existe pas sous Flash ? Alors comment Sprite fait pour etendre DisplayObjectContainer ?


#5 antinua

  • Members
  • PipPipPipPipPipPipPipPip
  • 1067 messages

Posté 03 September 2008 - 09:56 AM

Bonjour.

En fait, seules des classes natives de Flash peuvent être ou étendre une classe Abstraite.
C'est un parti pris par Adobe, peut-être que ça changera dans de futures versions de l'AS.

Les classes DisplayObject, InteractiveObject, DisplayObjectContainer et BitmapFilter sont les classes abstraites que l'on rencontre le plus souvent dans Flash.

Bonne journée.

#6 armetiz

  • Members
  • PipPipPipPipPipPipPipPip
  • 623 messages

Posté 03 September 2008 - 11:13 AM

Ah oki, ba merci beaucoup alors wink.gif



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

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