2010-05-18 8 views
1

Je crée un diaporama où chaque diapositive peut avoir: - une vidéo ou un encore - piste audio 1 ou plusieurs (jusqu'à 3) - bouton 1 ou plusieurs (jusqu'à 3)AS3: créer une classe avec des paramètres multiples et optionnels?

J'étais pensant que chaque diapositive peut être son propre objet, puis je passerais la vidéo, audio, boutons, etc., comme dans les paramètres:

package 
{ 
    import flash.media.Video; 

    public class Section 
    { 
     public function Section (video:Video, still:myPhotoClass, audiotrack:Sound, button:myButtonClass) { 
      // can have video OR a still 
      // can have 1 audio track or several 
      // can have 1 button or more 
     } 
    } 

Je ne sais pas comment m'y approcher ce depuis là peuvent être des multiples de certains éléments (audio, boutons) et aussi deux éléments sont tri-optionnels dans le sens où il peut y avoir UN ou l'AUTRE (vidéo/image fixe). Par exemple, est-ce quelque chose que je devrais éviter de passer en tant que paramètres tout à fait, en utilisant une approche différente (getters/setters, peut-être)?

Répondre

1

Essayez "...(rest) parameter"

private var _optionalParam:Array; 

public function exOptionalParam(arg1:Number, ...optionalParam) {  

    _optionalParam = optionalParam; 

    trace(_optionalParam); // [all the additional arguments] 
} 
0

Voyons comment cela va:

Vous pouvez ajouter tous vos paramètres et les mettre à null ils ne sont pas nécessaires, par exemple: la vidéo: vidéo = null, encore: myPhotoClass = null, audiotrack1: son = null, audiotrack2: Son, audiotrack3: null, button1 ... etc (test simple travaillé)

Ou juste passer un tableau pour ceux avec plusieurs éléments, ou un vecteur du bon type.

Questions connexes