1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Movieclips austauschen ? - wichtig

Dieses Thema im Forum "Flash Plattform" wurde erstellt von IRIE, 13. Juli 2006.

  1. IRIE

    IRIE Mitglied

    HI Leute,

    ich arbeite gerade an einem Spiel. Es geht um Pferde füttern.

    man hat einen Eimer mit einer Karotte drin, per maus-druck fällt die runter und füttert eins der pferde.

    Der Kunde möchte nun, das zufällig entweder apfel, banane, zucker, getreide oben rausfällt. hab die alle in bereits in meiner Bilbliothek ...

    ich dachte mir, wenn das "Futter" mit dem Pferd in kontakt gerät. ruf ich dort eine funktion auf. die dann sagt ... zufälliges Futter laden ... aus einem Array oder ?

    irgendie klappt das nicht so recht?

    habt ihr irgendwelche lösungs vorschläge ?

    wär euch sehr dankbar

    LG
    Michi
     
  2. luke_the_duke

    luke_the_duke Erfahrenes Mitglied

    Hallo,

    nehmen wir mal an, du hast folgenden Array:

    Code (ActionScript):
    1. var futter = ["Birne", "Apfel", "Banane"];
    Wenn du nun nach dem Zufallsprinzip ein Element des Array auswählen willst, brauchst du eine Zufallszahl von 0 (erster Index des Arrays) bis n-1, wobei l für die Anzahl Elemente im Array bzw. der Eigenschaft length der Array-Klasse steht.
    Mit Math.random() generierst du einen Pseudo-Zufalls-Wert zwischen 0 und 1, den du mit der Anzahl Möglichkeiten multiplizieren musst. Danach wird das resultat noch auf eine Ganzzahl gerundet und als Index-Identifier benutzt:

    Code (ActionScript):
    1. var l = futter.length -1;
    2. var i = Math.round ( Math.random () * l);
    3.  
    4. trace (futter[i]);
    5. //Output:
    6. //eines der drei Elemente
    Ob du nun dein Array mit Strings, MovieClip-Referenzen etc. fütterst, kommt auf die Anwendung des Arrays an.

    gruss
     
  3. IRIE

    IRIE Mitglied

    soweit war ich auch schon ... mit dem Array !!

    aber wie kann ich dann das MovieClip austauschen?

    wenn meine karrotte z.B. auf spiel.spielumgebung.karotte liegt

    muss ich dann einfach spiel.spielumgebung.karotte = futter[2] beispielsweise ?

    oder geht das "austauschen" anders ?

    krieg das nicht hin :(
     
  4. luke_the_duke

    luke_the_duke Erfahrenes Mitglied

    Hallo,

    an deiner Stelle würd ich dein Gemüse in der Bibliothek lassen, aber für ActionScript exportieren (Rechtsklick auf MC in der Bibliothek => Verknüpfungen... => Export für ActionScript/In erstes Frame exportieren => Identifier eingeben) und die jeweiligen Identifier in das Array einfüllen. Nun kannst du den jeweiligen MovieClip dynamisch auf die Bühne legen:

    Code (ActionScript):
    1. spiel.spielumgebung.attachMovie(futter[i], futter[i], 1);
    Wenn dein Pferd das Gemüse gefressen hat, kannst du den MovieClip wieder entfernen:
    Code (ActionScript):
    1. spiel.spielumgebung[futter[i]].removeMovieClip();
    gruss
     
  5. Tobias Menzel

    Tobias Menzel Erfahrenes Mitglied

    Wenn es unbedingt ein MC sein soll, der schon auf der Bühne liegt, kannst Du die Obstsorten auch einfach in die Frames der Zeitleiste des Karottenclips packen (Karotte, Banane, Zucker) und den Clip in "futter" umbenennen. ;) Für einen Wechsel genügt dann ein futter.gotoAndStop(2);, um z.B. zur Banane zu wechseln.

    Gruß
    .
     
Die Seite wird geladen...