Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-09-2003, 00:38   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 108
Unhappy mc's entlang einer vektorkurve

hi mädels und jungs...

habe folgendes problem und stehe damit als actionscript dummy leider auf der leitung...

ich möchte folgendes verwirklichen:

muss soetwas wie generative grafiken programmieren... das heisst ich möchte im actionscript eine vektorkurve (möglichst nach zufallsprinzip mit einer gewissen einschränkung - also nicht über einen gewissen bereich hinaus) definieren und entlang dieser unsichtbaren vektorkurve grafiken "entlanglegen"... hmm schwer zu erklären... aussehen sollte das ganze dann so ähnlich wie im angehängten zip...

mit der ausnahme daß es quasi unendlich ist, also im loop und die auf die vektorkurve gelegten mc's auch langsam wieder verschwinden...

ich wäre wirklich überglücklich, wenn mir da jemand mit rat und tat zur seite stehen könnte, wie ich das am besten anstellen könnte... muss noch dazu sagen, da ich leider wirklich ziemlich schwach in actionscript bin, hab schon einiges herumprobiert aber mir fehlt einfach das nötige know how...

hoffe, ich habs so gut wie möglich erklärt...
so long - cheers luke
Angehängte Dateien
Dateityp: zip gengrafik.zip (907 Bytes, 13x aufgerufen)
luckyluke ist offline   Mit Zitat antworten
Alt 19-09-2003, 12:49   #2 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 108
kann mir denn niemand helfen????

gibts ja nicht

bitte bitte!
so long luke
luckyluke ist offline   Mit Zitat antworten
Alt 19-09-2003, 12:50   #3 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Hi, meinst du einen Pfad ?
MacEvil ist offline   Mit Zitat antworten
Alt 19-09-2003, 12:53   #4 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 108
hallo macevil,

ja genau, soetwas wie einen pfad...

nur sollte das alles programmiert sein, also keine richtigen animationen enthalten...
lg luke
luckyluke ist offline   Mit Zitat antworten
Alt 19-09-2003, 12:54   #5 (permalink)
Steffen G.
 
Benutzerbild von Tschdaeff
 
Registriert seit: Aug 2001
Ort: Ba-Wü
Beiträge: 4.123
am einfachsten wäre es wenn du dazu sinus oder cosinus nimmst damit kannst du einfach kurven zeichnen

cu mfg
Tschdaeff
__________________
mod@
www.flashbattle.de
www.steffen-guse.de
------------------------------------

Tschdaeff ist offline   Mit Zitat antworten
Alt 19-09-2003, 12:59   #6 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Guck mal :
~=!Mathe : Flugbewegung eines Vogel!=~
MacEvil ist offline   Mit Zitat antworten
Alt 19-09-2003, 13:18   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 108
hmmm... irgendwie ist das auch nicht so das richtige, das mir hier weiterhelfen kann...

ich hab das script zum obigen downloadbeispiel gefunden:

auf frame 1:
ActionScript:
  1. // sp
  2. x0 = 600;
  3. y0 = 0;
  4.  
  5. // ep
  6. x3 = 0;
  7. y3 = 300;
  8. count = 0;
  9.  
  10. start = getTimer();
  11. speed = 5000;
  12.  
  13. //bezpoint
  14. x1 = 200;
  15. y1 = 30;
  16. x2 = 0;
  17. y2 = 30;
  18. // Bezier trajectory
  19.  
  20. cx = 3*(x1-x0);
  21. cy = 3*(y1-y0);
  22. bx = (3*(x2-x1))+(cx);
  23. by = (3*(y2-y1))-cy;
  24. ax = x3-x0-cx-bx;
  25. ay = y3-y0-cy-by;

auf frame 2:

ActionScript:
  1. elapsed = getTimer()-eval("start");
  2. if (elapsed>speed) {
  3.     _root.stop();
  4. } else {
  5.     count = count+1;
  6.     cube = elapsed/speed;
  7.     square = square*square;
  8.     cube = cube*cube*cube;
  9.     square = cube;
  10.     duplicateMovieClip("line", "line"+count, count);
  11.     _root["line"+count]._x = (ax*cube)+(bx*square)+(cx*elapsed/speed)+(x0);
  12.     _root["line"+count]._y = (ay*cube)+(by*square)+(cy*elapsed/speed)+(y0);
  13.     _root["line"+count]._rotation = count;
  14.     count = count+1;
  15.    
  16. }

im dritten frame schickt er ihn wieder zum zweiten frame...

problem hierbei ist nur, daß er bis zu nem gewissen wert immer wieder eines hochzählt, und dann stoppt... und bei mir solls ja sozusagen in sich geschlossen in einem loop laufen...

hat wer ne idee?

cheers luke
luckyluke ist offline   Mit Zitat antworten
Alt 19-09-2003, 16:16   #8 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Nimm das Zeugs mit dem Timer weg
MacEvil ist offline   Mit Zitat antworten
Alt 19-09-2003, 19:08   #9 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 108
kann ich die teile einfach so rausnehmen, ohne daß das script dann gleich nicht mehr funktioniert?

ich hab das so verstanden, daß er die timer funktion nutzt um die "elapsed"-variable zu definieren, welche wieder wichtig is für den rest des scripts... oder könnte man das leicht umgehn?

hmm...
so long luke
luckyluke ist offline   Mit Zitat antworten
Alt 19-09-2003, 19:10   #10 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Hm, da hast du recht !
Mach mal speed auf 100'000
MacEvil ist offline   Mit Zitat antworten
Alt 20-09-2003, 13:21   #11 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 108
sorry, geht leider auch nicht...

hört ja dann trotzdem irgendwann auf und ich brauch leider so richtig nen loop, wär nämlich für ne anwendung die ev. über mehrere tage läuft...
luckyluke ist offline   Mit Zitat antworten
Alt 20-09-2003, 14:02   #12 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Probier mal so :
ActionScript:
  1. // sp
  2. x0 = 600;
  3. y0 = 0;
  4.  
  5. // ep
  6. x3 = 0;
  7. y3 = 300;
  8. count = 0;
  9.  
  10. //bezpoint
  11. x1 = 200;
  12. y1 = 30;
  13. x2 = 0;
  14. y2 = 30;
  15. // Bezier trajectory
  16.  
  17. cx = 3*(x1-x0);
  18. cy = 3*(y1-y0);
  19. bx = (3*(x2-x1))+(cx);
  20. by = (3*(y2-y1))-cy;
  21. ax = x3-x0-cx-bx;
  22. ay = y3-y0-cy-by;
ActionScript:
  1. count ++;
  2. cube = count;
  3. square = square*square;
  4. cube = cube*cube*cube;
  5. square = cube;
  6.  duplicateMovieClip("line", "line"+count, count);
  7. _root["line"+count]._x = (ax*cube)+(bx*square)+(cx*count)+(x0);
  8. _root["line"+count]._y = (ay*cube)+(by*square)+(cy*count)+(y0);
  9. _root["line"+count]._rotation = count;
MacEvil ist offline   Mit Zitat antworten
Alt 20-09-2003, 14:08   #13 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 108
das sieht schon mal sehr vielversprechend aus

aber irgendwas dürfte trotzdem wieder falsch gelaufen sein, jetzt passiert nämlich gar nichts mehr...

hab jetzt das erste script auf frame01, das zweite auf frame02 auf frame 03 ein gotoAndPlay(2); ... dem mc hab ich noch ein onClipEvent (load){ } gegeben... und ihn als line exportiert, müsste ja eigentlich funktionieren... oder?

danke für deine geduld!!!! ohne hilfe von hier wäre ich bestimmt aufgeschmissen!

cheers luke
luckyluke ist offline   Mit Zitat antworten
Alt 20-09-2003, 14:14   #14 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Hm, kannst du das .fla mal hochladen ?
MacEvil ist offline   Mit Zitat antworten
Alt 20-09-2003, 14:44   #15 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 108
hi...
anbei mal das file...
danke nochmal!!

lg luke
Angehängte Dateien
Dateityp: zip gengrafik_neu.zip (3,1 KB, 8x aufgerufen)
luckyluke 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 22:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele