Abzug errechnen !?
Übersicht

![]() |
ToeBBetreff: Abzug errechnen !? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 800,600,16,2
SetBuffer BackBuffer() Dim Map(30,30) Global x#,y#,w,speed#,Abst_x#,Abst_y#,speed_proz#,Var_Speed Repeat w = ATan2(MouseX()-x,MouseY()-y)-180 Abst_x = Float(Abs(MouseX()-x)) Abst_y = Float(Abs(MouseY()-y)) If Abst_x > 100 Or Abst_y > 100 Then If speed < 10 Then speed = speed + 0.1 Var_speed = 0 Else If Var_speed = 0 Then Var_speed = 1:speed_proz# = speed/100 ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Hier ! If speed > 0 speed = speed - speed_proz If speed < 0 Then speed = 0 EndIf x = x + Cos(w+90) * speed y = y - Sin(w+90) * speed Oval x-10,y-10,20,20 Text 1,1,"X : "+Int(x)+" / Y : "+Int(y) Text 1,20,"Winkel : "+w Text 1,40,"Speed : "+Int(speed) Text 1,60,"Speed_proz : "+Int(Speed_proz) Flip Cls Until KeyHit(1) End Könnt ihr mir Sagen, wie ich errechnen soll, wie viel ich von der Speed-Varaiable abzien muss(Speed_proz#), damit der genau bei den Koordinaten der Maus "=0" ist ? Und wie mach ich das, dass der nich so ruckelt, wenn er auf der Maus-Position ist ? thx und Mfg Crack93 |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zwei Beispiele:
Code: [AUSKLAPPEN] Graphics 800,600,0,2
SetBuffer BackBuffer() Local MX%,MY% Local X1#,Y1# Local X2#,Y2#,Winkel# Const Speed#=2 While Not KeyHit(1) MX=MouseX() MY=MouseY() X1=X1+(MX-X1)/40 Y1=Y1+(MY-Y1)/40 Rect X1-4,Y1-4,9,9,0 Winkel=ATan2(MY-Y2,MX-X2) If Sqr((MX-X2)^2+(MY-Y2)^2)>Speed X2=X2+Cos(Winkel)*Speed Y2=Y2+Sin(Winkel)*Speed Else X2=MX Y2=MY End If Oval X2-4,Y2-4,9,9,0 Flip Cls Wend End |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Geil Danke, das hilft mir weiter !
![]() thx und mfg Crack93 |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn es schon so ist, dann ist ja gut. Kurz nach meinem Post habe ich gemerkt, dass du noch eine Trägheitsdämpfung hast, welche ich bei mir nicht drin hatte. Danach kamm dann ein Anruf etc. und war erstmal beschäftigt. Vielleicht aber folgender Code auch, obwohl du es sicherlich schon alles selbst an deinen Bedürfnissen angepasst hast.
Code: [AUSKLAPPEN] Graphics 800,600,0,2
SetBuffer BackBuffer() Local Timer=CreateTimer(100) Local MX%,MY% ;Maus Local XP#,YP# ;Position Local XG#,YG# ;Geschwindigkeit While Not KeyHit(1) MX=MouseX() MY=MouseY() XG=(XG+(MX-XP)*.009)*.9 YG=(YG+(MY-YP)*.009)*.9 XP=XP+XG YP=YP+YG Rect XP-4,YP-4,9,9,1 WaitTimer(Timer) Flip 0 Cls Wend End Generell würde ich versuchen Bewegungen immer zu berechnen und ganz auf If-Abfragen verzichten. Dazu helfen auch oft die gerne vergessenen Befehle wie ql:SGN und ql:ABS weiter. Anstelle If XRichtung>0 Then XSpeed=XSpeed+1 kann man in den meisten Fällen auch XSpeed=SGN(XRichtung) machen. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group