Flüssige Bewegung

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

Ninja

Betreff: Flüssige Bewegung

BeitragMi, Nov 16, 2005 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Diese Funktion zeigt wie ihr eine Flüssige Bewegung erstellen könnt, z.B. für Nachschweifende Kameras in Weltraumspielen etc.
Umso weiter die Optimale Position entfernt ist umso schneller bewegt sich das Objekt darauf zu!

Die Funktion Smooth hat 3 Parameter:
1- Die Aktuelle Position
2- Die Gewünschte Position
3- Die Geschwindigkeit (Sollte zwischen 5-15 liegen)
Zurückgegeben wird der Wert um den die Aktuelle Position erhöht werden muss. Gibt echt nen Schönen Effekt Wink

Code: [AUSKLAPPEN]

SetGraphicsDriver GLMax2DDriver()
Graphics 640,480,0,60


Global x#,y#

Repeat
Cls


DrawOval x-5,y-5,10,10


x=x+smooth(x,MouseX(),10)
y=y+smooth(y,MouseY(),10)


Flip
Until KeyDown(Key_Escape)



Function smooth(pos_akt,pos_real,s_smooth)
   Return (pos_real-pos_akt)/s_smooth
End Function
Spiele & Security Tools
www.SelfSoft.org

rema

BeitragDo, Nov 17, 2005 7:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Kleine aber bedeutdende Korrektur! Setzte alle relevanten Variabeln auf Float, sonst klappt dies zbsp bei einem Wert mit 30 nicht mehr!

Code: [AUSKLAPPEN]
SetGraphicsDriver GLMax2DDriver()
Graphics 640,480,0,60


Global x#,y#

Repeat
Cls


DrawOval x-5,y-5,10,10


x=x+smooth(x,MouseX(),30)
y=y+smooth(y,MouseY(),30)


Flip
Until KeyDown(Key_Escape)



Function smooth#(pos_akt#,pos_real#,s_smooth#)
   Return (pos_real-pos_akt)/s_smooth
End Function

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group