Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-01-2008, 23:56   #1 (permalink)
ein tüüüp
 
Registriert seit: May 2002
Ort: berlin
Beiträge: 627
Aktuellen Winkel an eine Pendelfunktion übergeben - aber wie?

Gutn abnd,

ich hab eine figur, die im Wasser wie mit Flossen paddelt. Hierzu habe ich ne Pendelbewegung abgewandelt und auf die beiden Füße gelegt:

Code:
aktionen.schwimmen = function(mc, pFaktor, pmaxWinkel, pOszilation, offset, xSpeed) {
	with(mc.leg_l) {
		w += 0.1;
		_rotation = (Math.sin(pOszilation * w) * Math.pow(pFaktor, w) * pmaxWinkel)+offset;	
	}
	
	with(mc.leg_r) {
		w += 0.1;
		_rotation = (Math.sin(pOszilation * w) * Math.pow(pFaktor, w) * (-pmaxWinkel))+offset;	
	}
}
Nun will ich dass die Füße sich bei NICHT drücken der Rechtstaste immernoch bewegen, aber langsamer, so dass er quasi im Wasser schwebt. Also übergebe ich einfach andere Werte:

Code:
this.onEnterFrame = function() {
	if (Key.isDown(Key.RIGHT)) {
		aktionen.schwimmen(character.j_brushtop_all, 1, 30, 1, -30, 1);
	} else {
		aktionen.schwimmen(character.j_brushtop_all, 1, 15, .2, -30, 0);
	}
}
Funktioniert auch alles wunderbar. Allerdings springen meine Füße immer wieder an die Startposition sobald ich die Rechtstaste drücke, bzw. loslasse - und das sieht echt kacke aus...

Wie kann ich denn immer von der aktuellen Winkelposition der Füße starten? Wie muss ich da die Methode anpassen?

Würde mich freuen wenn jemand helfen könnte.

Vielen Dank im Voraus und viele Grüße
Fäb

Geändert von fabbsen (19-01-2008 um 00:09 Uhr)
fabbsen ist offline   Mit Zitat antworten
Alt 19-01-2008, 00:18   #2 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
du fragst einfach den aktuellen winkel bzw. die rotation ab
und beziehst die mit ein bei dem sinus und kosinus

anernfalls einfach die bewegung andauernd lassen udn nur wenn rechts
gedrückt ist eine andere frequenz oder wellenlänger oder so mitangeben
wäre ws einfacher so
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 19-01-2008, 11:07   #3 (permalink)
ein tüüüp
 
Registriert seit: May 2002
Ort: berlin
Beiträge: 627
Danke schonmal ..

Zitat:
du fragst einfach den aktuellen winkel bzw. die rotation ab
und beziehst die mit ein bei dem sinus und kosinus
leuchtet mir ein - aber wie beziehe ich den aktuellen Winkel in die Berechnung ein?
Allein die Oszillation zu verringern bringt ja nix, weil auch die Amplitude/Auslenkung kleiner (15 statt 30°) ist...

Hat da jemand 'nen Ansatz?

Geändert von fabbsen (19-01-2008 um 11:13 Uhr)
fabbsen 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 18:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele