Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-10-2003, 09:54   #1 (permalink)
tra..la..la..la..
 
Benutzerbild von knuddel_muddel
 
Registriert seit: Aug 2003
Ort: Knuddel Land
Beiträge: 180
Arrow vielleicht einwenig kompliziert :(

Hallo Leute,


folgendes problem. Ich erzeuge mehrere MC`s und weise diesen einen eigenen Actionscript hinzu.

jetzt soll jedes einzelne MC "figurcontainer+i" zu seinem eigenem Target auf dem bildschirm fahren. (targetx+i und targety+i)

es gibt nur diesen einen actionscript auf der zeitleiste


ActionScript:
  1. for (var i=0; i<count; i++) {//count -> anzahl der figuren
  2.         var mc = createEmptyMovieClip("figurcontainer"+i,i);// mc kriegt den erzeugten MovieClip / [i]-> nummer der figur
  3.         mc.createEmptyMovieClip("kopf",3).loadMovie("kopf.swf");
  4.         mc.createEmptyMovieClip("haende",4).loadMovie("haende.swf");
  5.         mc.createEmptyMovieClip("koerper",1).loadMovie("koerper.swf");
  6.         mc.createEmptyMovieClip("unter",2).loadMovie("unter.swf");
  7.        
  8.         mc._x = 30*i;//figurcontainer positionierung
  9.         mc._y = 30*i;//figurcontainer positionierung
  10.        
  11.         mc.kopf._x = 0;//kopf_x positionierung
  12.         mc.kopf._y = 0;//kopf_y positionierung
  13.         mc.koerper._x = 20;//koerper_x positionierung
  14.         mc.koerper._y = 60;//koerper_y positionierung
  15.         mc.haende._x = -30;//haende_x positionierung
  16.         mc.haende._y = 75;//haende_y positionierung
  17.         mc.unter._x = -42;//unter_x positionierung
  18.         mc.unter._y = 120;//unter_y positionierung
  19.        
  20.         setProperty("mc", _xscale, 40);//skallierung der figur
  21.         setProperty("mc", _yscale, 40);//skallierung der figur
  22.        
  23.    
  24.     _root["targetx"+i] = eval("x"+i);
  25.     _root["targety"+i] = eval("y"+i);
  26.     delay = 10; //geschwindigkeit der figuren bestimmen
  27.    
  28. mc.onEnterFrame=function(){//erzeuge onEnterFrame function auf mc
  29.     difx = _root["targetx"+i] - this._x;
  30.     dify = _root["targety"+i] - this._y;
  31.     this._x += difx / delay;
  32.     this._y += dify / delay;
  33. }
  34. mc.onMouseDown=function(){//erzeuge onMouseDown function auf mc
  35.     _root["targetx"+i] = _root._xmouse;
  36.     _root["targety"+i] = _root._ymouse;
  37. }
  38.    
  39. }//end of for schleife - für die dynamische erzeugung der figuren
  40.  
  41. stop();



---->
_root["targetx"+i] = eval("x"+i);
_root["targety"+i] = eval("y"+i);

dazu muss ich noch sagen dass x1, x2, x3 variablen aus der datenbank eingelesen werden und unterschiedliche werte haben

Das problem ist jetzt dass jedes einzelne erzeugte MC muss in seinem eigenem Actionscript einen eigenen target besitzen damit die figruen unabhänig von einnander auf dem bildschirm gesteuert werden können.

ich weiß dass es kompliziert zu verstehen ist, wenn ihr fragen habt, stellt sie.
knuddel_muddel ist offline   Mit Zitat antworten
Alt 08-10-2003, 10:20   #2 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
ah ja kurz überlegt...ja da hast Du einen Denkfehler:
ActionScript:
  1. ...
  2.  _root["targetx"+i] = eval("x"+i);
  3.         _root["targety"+i] = eval("y"+i);
  4.         delay = 10; //geschwindigkeit der figuren bestimmen
  5.        
  6.         mc.onEnterFrame=function(){//erzeuge onEnterFrame function auf mc
  7.                 difx = _root["targetx"+i] - this._x;
  8.                 dify = _root["targety"+i] - this._y;
  9.                 this._x += difx / delay;
  10.                 this._y += dify / delay;
  11.         }
  12.         mc.onMouseDown=function(){//erzeuge onMouseDown function auf mc
  13.                 _root["targetx"+i] = _root._xmouse;
  14.                 _root["targety"+i] = _root._ymouse;
  15.         }...
...bei den ClipEvents kannst Du natürlich nicht so mit i arbeiten, mach es folgendermassen:
ActionScript:
  1. mc.targetx= eval("x"+i);
  2.         mc.targety = eval("y"+i);
  3.         delay = 10; //geschwindigkeit der figuren bestimmen
  4.        
  5.         mc.onEnterFrame=function(){//erzeuge onEnterFrame function auf mc
  6.                 difx = this.targetx - this._x;
  7.                 dify = this.targety - this._y;
  8.                 this._x += difx / delay;
  9.                 this._y += dify / delay;
  10.         }
  11.         mc.onMouseDown=function(){//erzeuge onMouseDown function auf mc
  12.                 this.targetx = _root._xmouse;
  13.                 this.targety= _root._ymouse;
  14.         }
...wobei ich nicht verstehe, warum Du Du die Datenbankwerte nicht in ein array packst und mit mc.targetx=x[i]; übergibtst..

...und das setProperty ist unnötig mc._xscale=40; geht auch...

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-

Geändert von Alois (08-10-2003 um 10:21 Uhr)
Alois ist offline   Mit Zitat antworten
Alt 08-10-2003, 10:29   #3 (permalink)
tra..la..la..la..
 
Benutzerbild von knuddel_muddel
 
Registriert seit: Aug 2003
Ort: Knuddel Land
Beiträge: 180
Talking

Boh danke @Alois mal wieder hast du mir geholfen! Ich glaub ich muß dir bald einen ausgeben.

dass mit setProperty hab ich einfach aus einem anderem script übernommen da ich nicht so ein flashxperte bin

Geändert von knuddel_muddel (08-10-2003 um 10:44 Uhr)
knuddel_muddel 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 11:06 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele