1. #1
    `SeriOUs's Avatar
    Registered
    17/07/02
    Location
    Te Gènk
    Posts
    1,691
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    1/1

    Base Class Constructor

    Ik heb verschillende movieclips in mijn library met elk hun eigen class & een gedeelde base class. Dus bv. Fish1, Fish2, Fish3 delen als baseclass Fish.

    Voor Fish1, Fish2, Fish3,... wil ik echter geen .AS-classbestand gaan schrijven.
    De gedeelde 'Fish' AS-klasse extend MovieClip, maar heeft 2 extra attributen in de constructor.
    Nu, het probleem:
    Als ik in mijn document nu dit doe:
    Code:
    var fishie1_mc:Fish1 = new Fish1(attribuut1, attribuut2);
    krijg ik de melding de klasse Fish1 geen attributen aanneemt...

    Erft de class Fish1 niet de constructor van de Baseclass?
    no votes  

  2. #2
    `SeriOUs's Avatar
    Registered
    17/07/02
    Location
    Te Gènk
    Posts
    1,691
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    1/1
    UPDATE:
    Het lijkt op het eerste gezicht niet mogelijk, op de manier dat ik het wil.
    default constructors with base classes? - kirupaForum
    no votes  

  3. #3
    Gerritn's Avatar
    Registered
    06/04/05
    Location
    Gent
    Posts
    267
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Waarom moet je dan verschillende klasses hebben, als je er toch geen as-file voor wil schrijven, heb je ook geen extra methodes, dus is het nutteloos om voor met meerdere klasses te werken.

    Maak gewoon enkele instanties aan vd klasse Fish, en geef die alle nodige methodes...
    no votes  

  4. #4
    `SeriOUs's Avatar
    Registered
    17/07/02
    Location
    Te Gènk
    Posts
    1,691
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    1/1
    Nee, dat zou zelfs heel handig zijn.
    Stel:
    Je hebt allemaal verschillende soorten visjes in je Library. Elk van die visjes heeft een eigen klasse, zodat je snel een soort visje kan aanmaken, dmv de klas te instantieren.

    Maar het zijn allemaal vissen, die hetzelfde gebruik moeten hebben, bv. zwemmen. Daarvoor gebruikt ge normaal een base-class. Tot daar toe alles normaal.

    Maar stel dat ik nu, als ik een soort vis instantieer, daar extra attributen aan wil geven: bv: een z-as.

    Het zou dan héél handig zijn als Flash ervoor zou kunnen zorgen dat ik dan zou kunnen doen: Visje1:Vissoort1 = new Vissoort1(asZ);
    En dat gaat nu helaas niet. Dus moet ik voor elke vissoort nu een klasse-file aanmaken, die de basisklasse extend. En dan zou dat wel gaan.... hopelijk.
    Niet zo erg als je 5 vissoorten hebt, maar als je er 100 gaat hebben, kan dat soms nogal overvloedig zijn.
    no votes  

  5. #5
    Gerritn's Avatar
    Registered
    06/04/05
    Location
    Gent
    Posts
    267
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Zo zou het inderdaad handig zijn, maar zoals je zegt onmogelijk, wat logisch is ook.
    Je subklasse zou je dan instantieren met een argument in je constructor (zoals je z-positie), maar er is geen enkele manier hoe die subklasse zou weten wat te doen met dat argument.

    Wat je eventueel wel kan doen, is een array van objecten doorgeven, bvb.
    visArgs.z = 10;
    visArgs.speed = 8;
    Dan kun je gewoon dat object doorgeven, en de nodige parameters parsen.
    no votes  

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in