Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-10-2006, 02:11   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 31
schmetterlingsanimation

hey leute,
also ich lasse einen schmetterling sich in der oberen ecke meiner seite zufällig hin und her bewegen...mit folgendem script:

Zitat:
onClipEvent (load) {
// 290 und 170 ist der bereich
// 100 und 50 ist die obere linke ecke des bereichs
zufallx = random(290);
zufallx += 100;
zufally = random(170);
zufally += 50;
}
onClipEvent (enterFrame) {
if (zufall == true) {
zufallx = random(290);
zufallx += 100;
zufally = random(170);
zufally += 50;
zufall = false;
}
delta_x = zufallx-this._x;
delta_y = zufally-this._y;
this._x += delta_x/5;
this._y += delta_y/5;
if(zufallx == Math.ceil(this._x) && zufally == Math.ceil(this._y)){
zufall = true;
}
}
dazu paralell wird im mc selbst der flügelschlag animiert.

Und nun mein problem:
Wie bekomme ich es hin, dass der schmetterling sich nicht immer gleich schnell bewegt mal an einem punkt pause macht für eine zufällige zeit usw., dass er sich auch mal ein bischn dreht etc. etc.

wäre für eure hilfe sehr dankbar
lg casual
casual ist offline   Mit Zitat antworten
Alt 09-10-2006, 02:23   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
z.b.
Code:
if (Math.random()<.1)
{ // mache etwas zufällig 10% mal
  _rotation+=xxx;
}
if (Math.random()<.03)
{ // ändert 3% mal die geschwindigkeit um +/- 10%
  // nie schneller als max_speed, nie langsamer als min_speed
  speed *=.9+Math.random()*.2;
  speed= Math.min(max_speed,Math.max(min_speed,speed));
}
if (Math.random()<.1)
{ // fliege in eine richtung
  // zu 10% wird die flugrichtung geändert
  delta_x =-delta_x;
}
_x+= delta_x;
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (09-10-2006 um 02:30 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 09-10-2006, 14:15   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 31
das klingt ja schonmal sehr gut, ich werd mich mal damit probieren. Danke dir schon mal!!!
lg casual
casual ist offline   Mit Zitat antworten
Alt 09-10-2006, 15:10   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 31
habe mal ein bisschen mit den werten gespielt. das wird schon ganz realistisch. Wir sag ich ihm dass er, natürlich zufällig, auch mal an einem ort etwas länger verharren soll und dabei nicht mehr weiterflattert? Das wäre dann die delux variante ´zur errinnerung: das flattern ist in der zeitleiste im mc animiert, wie kann ich das also ansprechen?
danke schonmal für die hilfe
lg casual
casual ist offline   Mit Zitat antworten
Alt 10-10-2006, 03:02   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
ist doch immer das selbe schema:

// init
fliegt=true;

// im onEnterFrame
if (Math.random()<.001) fliegt != fliegt;
if (fliegt)
{ // fliegt
}
else
{ // sitzt
}

und das halt anpasen. kann ja nur auf einem baum oder halm sitzen und nicht mitten in der luft.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib 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 04:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele