Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-10-2003, 01:13   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Beiträge: 25
komplexe mc slide und fade funktion

hallo flasher!

ich erstelle gerade mein portfolio in flash und muss mich nun, wohl oder übel, mit as beschäftigen.
mein vorläufiges ziel war folgender ablauf:

- knopfdruck
- mcx und mcy nacheinander ausfaden lassen
- danach mcz an stelle von mcy sliden
- danach mcxy einfaden

ich habe mir jetzt eine wilde funktion anhand meiner kleinen as-kentnisse zusammengekloppt, die auch
funktioniert. hier zu sehen, bin mir aber nicht sicher, ob
das alles auch so seine richtigkeit hat oder ob man es noch vereinfachen könnte.

wenn ich diese funktion fertig habe, bräuchte ich noch eine die folgendes tut:

- knopfdruck
- mcxy ausfaden lassen
- danach mcz an ursprungsstelle sliden
- danach mcx und mcy nacheinander einfaden lassen

was würdet ihr machen? kann man die funktion vielleicht so dynamisch machen, dass ich alles auf eine
funktion reduziere und lediglich angebe was und in welcher reihenfolge gefadet/geslidet werden soll?
ich glaube ich denke momentan ein wenig
zu komplex, vielleicht habe ich auch einen ganz falschen ansatz... hilfe?

die fla bekommt ihr hier

und hier mal meine funktion (nicht meckern, ich wusste es nicht besser ):

ActionScript:
  1. // slidefade funktion wird definiert; variablen mit namen der mcs und zielkoordinaten werden übergeben
  2. slidefade = function (mcx,mcy,mcz,slidex,mcxy){
  3.         trace("läuft...");
  4.         //mcx alpha wird je durchlauf um 10 verringert
  5.         _root[mcx]._alpha-=10;
  6.         //prüft ob mcx alpha kleiner/gleich 0 ist, setzt ggf. auf 0
  7.         if (_root[mcx]._alpha <=0){
  8.                 _root[mcx]._alpha = 0;
  9.         }
  10.         //prüft ob mcx alpha kleiner/gleich 0 ist
  11.         if (_root[mcx]._alpha <=0){
  12.                 //mcy alpha wird je durchlauf um 10 verringert
  13.                 _root[mcy]._alpha-=10;
  14.                 //prüft ob mcy alpha kleiner/gleich 0 ist, setzt ggf. auf 0
  15.                 if (_root[mcy]._alpha <=0){
  16.                         _root[mcy]._alpha = 0;
  17.                 }
  18.         }
  19.         //prüft ob mcy alpha kleiner/gleich 0 ist
  20.         if (_root[mcy]._alpha <=0){
  21.                 //slide funktion starten
  22.                 _root[mcz].onEnterFrame = function() {
  23.                         // slide wird ausgeführt
  24.                         _root[mcz]._x += (_root[slidex]._x-this._x)/3;
  25.                                         // wenn slide fertig, setze auf slidex; onEnterFrame löschen;
  26.                         if (Math.abs(_root[slidex]._x-this._x)<3) {
  27.                                                 _root[mcz]._x = _root[slidex]._x;
  28.                         delete this.onEnterFrame;
  29.                                         }
  30.                 }
  31.         }
  32.                 //prüft ob mcz an position mc slidex._x sitzt.
  33.                 if (_root[mcz]._x == _root[slidex]._x) {
  34.                         //fade funktion starten
  35.                         _root[mcxy].onEnterFrame = function() {
  36.                                 // fade wird ausgeführt
  37.                 _root[mcxy]._alpha+=10;
  38.                 // wenn fade fertig, setze alpha auf 100; onEnterFrame löschen, intervall löschen
  39.                 if (_root[mcxy]._alpha >=100){
  40.                         _root[mcxy]._alpha = 100;
  41.                                                 delete this.onEnterFrame;
  42.                         clearInterval(slidefadeInt);
  43.                                                 trace("feddich!");
  44.                 }
  45.                         }
  46.  
  47.                 }
  48. }
  49. stop();

ich rufe sie folgendermaßen auf:
ActionScript:
  1. on (release) {
  2.         //starte slidefade und übergebe variablen: mc1, mc2, slidemc, slideziel, fadeInmc
  3.         _root.slidefadeInt = setInterval(_root.slidefade, 30, "rot", "blau", "gruen", "blau", "gelb");
  4. }


guckt es euch mal an, schlagt ggf. die hände über dem kopf zusammen und gebt mir ein paar kommentare

viele grüße,
stefan

Geändert von deesigns (15-10-2003 um 02:07 Uhr)
deesigns ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele