problem mit bewegung á la gta (ERLEDIGT)

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

ChrisAttack

Betreff: problem mit bewegung á la gta (ERLEDIGT)

BeitragMi, März 31, 2004 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe folgenden code:
Code: [AUSKLAPPEN]

;bewegung
function move_player()

Winkel=Winkel + mousexspeed()
If Winkel > 359 then Winkel=0
if Winkel < 0 then Winkel=359

movemouse width/2 ,height/2

 If KeyDown(200) Then ; Hoch
  p\x = p\x - Cos(Winkel) * p\speed
  p\y = p\y - Sin(Winkel) * p\speed
 EndIf
 If KeyDown(208) Then ; Runter
  p\x = p\x + Cos(Winkel) * p\speed
  p\y = p\y + Sin(Winkel) * p\speed
 EndIf
 DrawImage player(Winkel),p\x, p\y
end function

allerdings ... naja, es funktioniert nicht ... die mausdrehung funktioniert. nur das bewegen mit den pfeiltasten geht nicht ... Sad
woran kann das liegen?

(ich habe Winkel globaliesiert, und den neuen type eintrag p)
B3D
MSVC++
DX9SDK
  • Zuletzt bearbeitet von ChrisAttack am Mi, März 31, 2004 21:37, insgesamt einmal bearbeitet
 

Dreamora

BeitragMi, März 31, 2004 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
p\speed gesetzt?

Überprüft obs mit Float-Interger zusammen hängt, da der cos/sin ja zahlen von 0-1 ausgibt, das mit speed zusammen eventuell nochma etwas zwischen 0-1 gibt und wenn p\x dann integer ist gibts im endeffekt garnichts mehr

ChrisAttack

BeitragMi, März 31, 2004 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
kannst du das etwas genauer machen... am besten bitte meinen code oben abändern...
B3D
MSVC++
DX9SDK

ChrisAttack

BeitragMi, März 31, 2004 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry leute... *haue mir selber gegen den kopf*
ich habe p\speed=gesch# geschrieben. es musste aber p\speed=geschw# lauten... Embarassed
B3D
MSVC++
DX9SDK
 

Dreamora

BeitragMi, März 31, 2004 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Was für einen Wert hast du p\speed zugewiesen?
Ist der überhaupt > 0 weil sonst kann es sich prinzipiell nicht ändern.

Und sollte Speed beim definieren "field speed#" gewesen sein und < 1
während "field x field y field z" ( also ohne # ) waren, dann wird genau so wenig passieren, weil
Cos/sin * Zahl ( < 1 ) = Zahl < 1 und eine Zahl die kleiner als 1 ist wird zu 0, da bei Integer umwandlung ja nur die Stellen vor dem Komma zählen.

Von daher, wenn wir dir helfen sollen, sollte schon auch was vom restlichen Code da sein

Type Deklaration sowie grundsätzliche Werteinitialisierung

ChrisAttack

BeitragMi, März 31, 2004 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe p\speed# den wert 3 zugewiesen.
B3D
MSVC++
DX9SDK
 

Dreamora

BeitragMi, März 31, 2004 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
ah da warst du noch nen tick schneller mit der antwort auf mein vorheriges posting.
Funzt es den jetzt, da Speed auch einen wert drin hat? Smile

ChrisAttack

BeitragMi, März 31, 2004 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
ja. Very Happy wie gesagt, ich trottel hab einen buchstaben hintersehen.
B3D
MSVC++
DX9SDK

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group