GTA problem
Übersicht

klausklapperBetreff: GTA problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also, ich hab jetzt mal ne GTA steuerung angefangen. Die funktioniert auch schon recht ordnetlich, doch hier mein Problem:
Nach vorne kann ich laufen, ich kann mich auch wunderbar drehen, wenn ich allerdings gleichzeitig laufe, und drehe mich in die eine richtung, läuft er vorwärts und dreht sich gleichzeitig, wenn ich mich allerdings in die andere richtung drehe, dann dreht er sich nur obwohl er ja gleichzeitig auch vorwärts laufen müsste. Hier ist mal der Code für euch: Code: [AUSKLAPPEN] AppTitle "Rasenmäherrennen"
Graphics 800,600,32,2 SetBuffer BackBuffer() posx#=100 posy#=100 winkel=0 Dim ImPlayer(359) TFormFilter 1 ;Laden des Spielers For n=0 To 359 ImPlayer(n)=LoadImage("gfx/mower.png") MaskImage ImPlayer(n),255,0,255 RotateImage ImPlayer(n),n Next Color 0,0,0 ClsColor 255,255,255 ;Hauptschleife/Mainloop Repeat Cls If KeyDown(203) Then winkel=winkel-1 If KeyDown(205) Then winkel=winkel+1 If KeyDown(200) posx#=posx#+Cos(winkel) posy#=posy#+Sin(winkel) EndIf If winkel>359 Then winkel=0 If winkel<0 Then winkel=359 DrawImage ImPlayer(winkel),posx#,posy# Flip Until KeyHit(1) End Ich hoffe ihr könnt mir helfen MFG, KlausK. |
||
- Zuletzt bearbeitet von klausklapper am Mo, Jul 16, 2007 20:33, insgesamt einmal bearbeitet
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. editiere mal deinen post, markiere deinen code und drücke den button Code unter den smilies
2. Ich verstehe dein prob nicht wirklich ich hab bei mir loadimage mal durch createimage ersezt (weil ich kein bild zum laden habe) und da geht alles prima man kann vorwärts fahren sich nach rechts und nach links drehen während des fahrens und im stehen. 3. damit die kurven besser aussehen soltest du folgendes schreiben: Code: [AUSKLAPPEN] ;Laden des Spielers
For n=0 To 359 ImPlayer(n)=LoadImage("gfx/mower.png") MIDHANDLE ImPlayer(n);<------------------DAS DA REINSCHREBEN MaskImage ImPlayer(n),255,0,255 RotateImage ImPlayer(n),n damit "nimmst" du die image nicht an ner ecke wenn du sie drehst sondern in der mitte. das sieht schöner aus. |
||
klausklapper |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dankeschön, das hat mein Problemchen gelöst ;] | ||
Lador |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
FTC: Ich verstehe sein Problem.
Noch ein paar Sachen, klausklapper: 1. So ein ähnliches Problem war erst vor Kurzem -> bitten Forensuche benutzen! 2. TFormFilter solltest du 0 machen, dann bleiben keine rosa Kanten an deinem Rasenmäher. 3. Vielleicht hast du das Problem, weil du dein Bild falsch gedreht hast, also die Spitze deines "Rasenmähers" zeigt nach oben, muss aber nach rechts zeigen. 4. Es gibt einige Tutorials, die dasselbe Thema behandeln. Auf robsite.de gibt es eines, und auf Szene -> Links -> Tutorials -> Winkel (http://www.chaos-interactive.de/tuts/winkel.html) findest du auch eines. 5. Hier der Code: Code: [AUSKLAPPEN] AppTitle "Rasenmäherrennen"
Graphics 800,600,32,2 SetBuffer BackBuffer() posx#=400 posy#=300 winkel=0 Dim ImPlayer(359) TFormFilter 0 ;Laden des Spielers ImPlayer(0)=LoadImage("mower.png") MaskImage ImPlayer(n),255,0,255 For n=1 To 359 ImPlayer(n)=CopyImage(ImPlayer(0)) MaskImage ImPlayer(n),255,0,255 RotateImage ImPlayer(n),-n Next Color 0,0,0 ClsColor 255,255,255 ;Hauptschleife/Mainloop Repeat Cls Text 0,0,"Winkel: "+winkel If KeyDown(203) Then winkel=winkel+1 If KeyDown(205) Then winkel=winkel-1 If KeyDown(200) posx#=posx#+Cos(winkel) posy#=posy#-Sin(winkel) EndIf If winkel>359 Then winkel=0 If winkel<0 Then winkel=359 DrawImage ImPlayer(winkel),posx#,posy# Delay 20 Flip Until KeyHit(1) End Erklärung: Ich habe es ein bisschen verändert, denn es ist angeblich schneller, wenn du das Bild nicht 360 mal lädst, sondern es kopierst (CopyImage). Wenn ein Winkel > 0 ist, dann dreht er sich nach links (gegen den Uhrzeigersinn), deshalb habe ich bei KeyDown(203), winkel=winkel+1 nicht -1 gemacht. Du hast das Bild außerdem im falschen Winkel gedreht (RotateImage ImPlayer(n),-n). Der Rest der Erklärung steht oben bei 3. Hoffe das konnte dir helfen. MFG Lador |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group