Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-11-2005, 17:18   #1 (permalink)
Freelenzer
 
Benutzerbild von dervish
 
Registriert seit: Dec 2001
Ort: D
Beiträge: 99
Talking ok, Mathe ist nicht meine Stärke?

Hallo!
Ich habe folgendes Problem:
Ich will einen MC via AS von einem Punkt zum anderen wandern lassen.
Funktioniert auch schon, jedoch nur wenn die endkoordinaten grösser sind als die startkoordinaten.

Was mache ich falsch? (hätt ich mal in Mathe besser aufgepasst

hier das as auf der Bühne:
PHP-Code:
// koordinaten des dots
dot.oldx=dot._x;
dot.oldy=dot._y;

// neue koordinaten
dot.newx=300;
dot.newy=200;
 
dot.play(); 
und hier das as das in dem MC "dot" geloopt wird:
PHP-Code:
// nächsten Punkt auf der linie berechnen
xfakt=newx/oldx;
yfakt=newy/oldy;

// dot verschieben wenn noch nicht endpunkt erreicht
if((_parent.dot._x xfakt) < newx){ 
    
_parent.dot._x += xfakt
    
_parent.dot._y += yfakt
} else { 
stop(); } 
Danke schonmal für Eure Hilfe!!!!

greez, derVish
Angehängte Dateien
Dateityp: zip dot.zip (6,1 KB, 3x aufgerufen)
dervish ist offline   Mit Zitat antworten
Alt 16-11-2005, 17:43   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Schnell drübergeschaut ... probier mal so:
PHP-Code:
if(Math.abs(newx - (_parent.dot._x xfakt)) > 0){ 
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 16-11-2005, 18:10   #3 (permalink)
Freelenzer
 
Benutzerbild von dervish
 
Registriert seit: Dec 2001
Ort: D
Beiträge: 99
danke aber nee das isses nicht;

also, solange der anfangswert kleiner als der endwert ist funzt es:
PHP-Code:
// koordinaten des dots
dot.oldx=100;
dot.oldy=100;

// neue koordinaten
dot.newx=300;
dot.newy=200;
 
dot.play(); 
und so nich:
PHP-Code:
// koordinaten des dots
dot.oldx=100;
dot.oldy=100;

// neue koordinaten
dot.newx=300;
dot.newy=20;
 
dot.play(); 
irgendwie muss im zweiten fall eine negative zahl für yfakt rauskommen
PHP-Code:
// nächsten Punkt auf der linie berechnen
xfakt=newx/oldx;
yfakt=newy/oldy// ??? 
ich steh leider auf der Leitung! (&(§&)&§§)(&@¯·¯˙)

Aber das muss doch mathematisch ohne irgendwelchen if-abfragen zu formulieren sein????

Kann keiner mein Vertrauen zur Mathematik wieder herstellen?

greez,d.
dervish ist offline   Mit Zitat antworten
Alt 16-11-2005, 19:43   #4 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Du verwendest eine seltsame Art der Bewegung, ist das gewollt?

Hier mal ein paar Arten: (immer für den eindimensionalen Fall)

Linear:
Erreichen des Zieles in einer festen Zeit:
x = x0 + (x1 - x0) * t
mit t zwischen 0 und 1.

Erreichen des Zieles durch bewegung mit fester Geschwindigkeit:
x = x0 + v * t
mit v = Vorzeichen(x1 - x0) * k wobei k das Maß der Geschwindigkeit ist, und t zwischen 0 und 1

Abbremsende Annäherung:
x += (x1 - x) / k



Wenn du mehr suchst, dann such mal nach easing equations und nach animation package, da wirst du ne Menge fertiger Funktionen finden.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 16-11-2005, 20:23   #5 (permalink)
Freelenzer
 
Benutzerbild von dervish
 
Registriert seit: Dec 2001
Ort: D
Beiträge: 99
@Janoscharlipp: tx guter tipp
dervish 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 23:12 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele