Car Game Problem?

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

blackmaster

Betreff: Car Game Problem?

BeitragDo, Sep 21, 2006 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Ich habs mir anders überlegt, und zwar möchte ich jetzt ein Car Game Schreiben und kein Mah-Jong, ich hab mal angefangen für die Steuerung des Auto.
Aber wie bekomme ich es hin dass das Auto Langsam anfährt und immer schneller wird, und wenn man dann den Pfeil nach unten drückt das er dann halt langsam bremst, wisst ihr wie man das macht?

hier mal mein bisherige Code:

Code: [AUSKLAPPEN]

Graphics 640,480,16,2
SetBuffer BackBuffer()

AppTitle "The Cars"

Dim Cars(359)

TFormFilter 0

For Winkel=0 To 359
  Cars(Winkel)=LoadImage("img/car01.png")
  MaskImage Cars(Winkel),255,0,255
  MidHandle Cars(Winkel)
  RotateImage Cars(Winkel),Winkel
Next

Repeat
  ClsColor 127,127,127
  Cls

  If Winkel < 0 Then Winkel = 359
  If Winkel > 359 Then Winkel = 0

  DrawImage Cars(Winkel),car_x,car_y

  If KeyDown(203) Then Winkel = Winkel - 2
  If KeyDown(205) Then Winkel = Winkel + 2

  If KeyDown(200) Then
    car_x = car_x + Cos(Winkel)*4
    car_y = car_y + Sin(Winkel)*4
  EndIf

  If KeyDown(208) Then
    car_x = car_x - Cos(Winkel)*4
    car_y = car_y - Sin(Winkel)*4
  EndIf

  Flip
Until KeyHit(1)

End


Vielen Dank schonmal Wink

Gruss Markus
 

Dreamora

BeitragDo, Sep 21, 2006 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Dazu musst du trägheit und reibung einbauen. Sprich im Klartext eine Kraft implementieren, die der aktuellen bewegungsrichtung entgegen wirkt und sie darum bremst Smile

Wenn dann die Taste fürs gasgeben genutzt wird, macht das nichts anderes als eine Kraft ausüben auf das objekt, welche dann von Trägheit / Reibung beeinflusst wird.

Das machst du dann am besten mit Vektoren.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

blackmaster

BeitragDo, Sep 21, 2006 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich Danke dir,
aber wie soll ich das machen?
Ich habe noch nie eine Gute Fahrmöglichkeit hinbekommen.

könntest du mir vieleicht zeigen wie ich das machen muss?

Ich wäre dir sehr dankbar wenn du es mir zeigen oder ein beispiel posten könntest.

Gruss Markus
 

blackmaster

BeitragDo, Sep 21, 2006 23:51
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,
ich hab mal hier im forum Nachgeschaut und was gefunden, jetzt hab ich die steuerung mal mit ein Bild versucht, aber die lenkung stimmt nicht ganz.

Code: [AUSKLAPPEN]
Graphics 800,600,0,2
SetBuffer BackBuffer()

xp#=200;X-Position
yp#=200;Y-Position
xg#=0;X-Geschwindigkeit
yg#=0;Y-Geschwindigkeit
fg#=0;Fahrzeug-Geschwindigkeit
rp#=0;Rotations-Position

fk#=0;Berechnete Fliehkraft
xpa#=0;Alte X-Position
ypa#=0;Alte Y-Position

Dim Cars(359)

TFormFilter 0

For Winkel=0 To 359
  Cars(Winkel)=LoadImage("img/car01.png")
  MaskImage Cars(Winkel),255,0,255
  MidHandle Cars(Winkel)
  RotateImage Cars(Winkel),Winkel
Next

;Hauptschleife
While Not KeyHit(1)

  ;Vorrausschauend sichern
  xpa=xp+Cos(rp)*fg
  ypa=yp+Sin(rp)*fg

  ;Tastaurabfrage
  If KeyDown(200) fg=fg+.05
  If KeyDown(208) fg=fg-.02
  If KeyDown(203) rp=rp-fg/1.4 : Winkel=Winkel-fg/1.4
  If KeyDown(205) rp=rp+fg/1.4 : Winkel=Winkel+fg/1.4

  If Winkel < 0 Then Winkel = 359
  If Winkel > 359 Then Winkel = 0

  ;Reibungswiederstand
  fg=fg/1.01

  ;X/Y-Geschwindigkeit
  xg=Cos(rp)*fg
  yg=Sin(rp)*fg

  ;Neu Positionieren
  xp=xp+xg
  yp=yp+yg

  ;Fliehkraft
  fk=Sqr((xp-xpa)^2+(yp-ypa)^2)

  ;Fliehkraft bearbeiten
  If fk > .06
  Rect 0,0,60,60,1;Hier Quitschsound!!!
  xp=xp-xg
  yp=yp-yg
  xp=xpa
  yp=ypa
  End If

  ;Werteinformationen
  Line 400,100,400+fg*50,100
  Line 400,104,400+fk*800,104

  DrawImage Cars(Winkel),xp,yp

  Flip
  Cls
Wend
End


erst wenn das auto ein bisschen schneller ist, dann geht die Drehung erst,
und wenn ich Das Auto dann fahren lasse, dann stimmt der Winkel garnicht überein.
Könnt ihr mir vieleicht helfen wo der fehler liegt?

Gruss Markus
 

Dreamora

BeitragFr, Sep 22, 2006 9:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit der Drehung ist klar, das muss so sein, ein Auto kann sich nicht im stehen Drehen. Solltest du da einen anderen Effekt wollen, kannst du das jedoch ohne Probleme ändernin den Zeilen wo die Tastenabfrage für den Pfeil Links / rechts sind.

Inwiefern stimmt der Winkel nicht?
Was mir ein wenig komisch vor kommt sind die Zeilen:
Code: [AUSKLAPPEN]

xp=xp-xg
  yp=yp-yg
  xp=xpa
  yp=ypa


Da dort eine neue Berechnung direkt überschrieben wird und dann auch noch mit einem Wert der vom letzten Schleifendurchlauf stammt. Sieht für mich aus als ob da was falsch berechnet würde.
Vielleicht sollte das zweite da ja xp = xp + xpa, yp = yp + ypa sein oder so?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Roggi

BeitragFr, Sep 22, 2006 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube so eine Steuerung wie du suchst, findest du hier: http://www.silizium-net.de/bbcodea6.htm Das dürfte dir weiterhelfen, aber versuche nicht einfach etwas bei dir reinzukopieren sondern schau dir mal die Funktionen an sonst lernst du nichts dabei. Bitteschön.

MfG Tom
 

blackmaster

BeitragFr, Sep 22, 2006 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
danke dir, ich mach ein Rennspiel in 3D, alles Funktioniert soweit, aber wenn ich mein Auto Anzeigen lasse, dann ist es Sehr Sehr Gross, dass es den ganzen bildschirm einnehmt, Format is 3ds.
Ich hab es so versucht:

Code: [AUSKLAPPEN]
ScaleMesh car,1,1,1


was muss ich da ändern um es kleiner zu machen?
hab wirklich alles versucht, ich wäre euch sehr dankbar für die Hilfe Wink

Gruss Markus

skey-z

BeitragFr, Sep 22, 2006 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
scaleentity ist schon richtig, aber 1, 1, 1 ist die orginalgröße, versuchs mal mit der hälfte
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

blackmaster

BeitragFr, Sep 22, 2006 15:52
Antworten mit Zitat
Benutzer-Profile anzeigen
das geht nicht, hab sogar schon minus benutzt, aber es will einfach nicht kleiner gehen.
hast du vieleicht ne idee wie ich das sonst noch kleiner bekomme?

Gruss Markus
 

blackmaster

BeitragFr, Sep 22, 2006 16:38
Antworten mit Zitat
Benutzer-Profile anzeigen
kennt ihr keine lösung wie ich mein Auto Richtig Positioniere, weil die Kamera zeigt genau in Das Auto rein, deswegen sieht es so gross aus, wie stelle ich mein Kamera richtig ein?

Code: [AUSKLAPPEN]
camera=CreateCamera()
PositionEntity camera,0,0,-400


hab da schon viel rum gemacht, aber es will einfach nicht funktionieren.
könnt ihr mir vieleicht die Kamera Richtig einstellen?

Gruss Markus

Schranz0r

BeitragFr, Sep 22, 2006 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur mal so als tip:

Dein Spiel ist 2D und nicht 3D Wink

Also nix Camara Very Happy


Mach dein Bild kleiner, das hilft oft .
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

blackmaster

BeitragFr, Sep 22, 2006 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
sry, aber ich habe doch oben geschrieben das ich jetzt in 3D machen möchte, ich habe ja den Befehl Graphics3D benutzt, und ein Medhs als auto, wieso soll ich das bild dann kleiner machen wenn es ein Modell ist?

Gruss Markus
 

blackmaster

BeitragFr, Sep 22, 2006 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ich muss nur wissen wie ich die Camera richtig einstelle, also die Camera soll bissel nach oben und nach hinten gestellt werden, aber das mach der nicht:

Code: [AUSKLAPPEN]
camera=CreateCamera()
PositionEntity camera,0,-400,-400
CameraClsColor camera,56,56,80


wäre net wenn mir jemand weiterhelfen könnte, will Das Spiel Testen mit der Steuerung, aber des sieht scheisse aus weil die Camera im Auto drinne ausgerichtet is, was ich ändern möchte.

Danke euch schonmal.

Edit: Hier hab ich es mal hochgeladen:
Car (0,08 MB)

Vieleicht könnt ihr mir das dann richtig mit der Camera machen.
Vielen Dank schonmal.

Gruss Markus
 

Dreamora

BeitragFr, Sep 22, 2006 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Befehl tut das schon
Nur richtest du die Camera danach scheinbar nicht auf das Auto aus.

Ich hoffe mal das Auto ist nicht so gross dass die Kamera das braucht, weil dann wäre es bei weitem zu gross.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

blackmaster

BeitragFr, Sep 22, 2006 20:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke dir,
Ich möchte das man Das Auto von Hinten sieht und ein bissel nach oben, wie bei den Meisten 3D Rennspiele.

Weisst du vieleicht wie ich das machen kann?
Ich wäre dir sehr dankbar dafür.

Gruss Markus
 

Dreamora

BeitragFr, Sep 22, 2006 20:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Die "billigste" Variante wäre:

- Pivot erzeugen, mit Auto als Parent (schon bei Create)
- Pivot um das nach oben bewegen, wo die Kamera dann hinschauen soll (5-20 einheiten)
- Cam erzeugen, welche Pivot als Parent hat. Dann die Kamera um X einheiten nach hinten und oben bewegen und die Kamera auf den Pivot ausrichten (pointentity)

Danach brauchst du nur noch das auto auszurichten.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

blackmaster

BeitragFr, Sep 22, 2006 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiss net was du damit meinst, hab noch nie Pivot erstellt, gibt es vieleicht Tutorials für sowas?

Fleamor

BeitragSo, Sep 24, 2006 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
Die "billigste" Variante wäre:

- Pivot erzeugen, mit Auto als Parent (schon bei Create)
- Pivot um das nach oben bewegen, wo die Kamera dann hinschauen soll (5-20 einheiten)
- Cam erzeugen, welche Pivot als Parent hat. Dann die Kamera um X einheiten nach hinten und oben bewegen und die Kamera auf den Pivot ausrichten (pointentity)

Danach brauchst du nur noch das auto auszurichten.


Ich kann dir nicht ganz folgen.
Wieso nicht einfach:
-pivot erstellen
-auto erstellen mit pivot als parent
-camera an der gewünschten position erstellen und pivot als parent
-mit turnentity etwas mit winkeln ausprobieren
?
Hat bei mir immer geklappt man muss nur das Parent statt dem Auto Bewegen.
*schwupp* O.O
 

Dreamora

BeitragSo, Sep 24, 2006 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht natürlich genau so.

Aber abhängig davon was man will ist es mitunter einfacher, das Auto als "Head" zu haben, wenn man zb Physik nutzen will und die Räder animieren und so (weil man dann nicht soviel FindChild-en muss)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

bruce85

BeitragSo, Sep 24, 2006 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Ich habs mal gescrennt wie gross das Auto ist:

user posted image

Also irgend etwas stimmt da net, ich habs versucht es kleiner zu machen, geht aber net.

Wenn ich das Auto in mein Modelleditor öffne, ist es klein, aber im Spiel zeigt es zu gross an.

Wisst ihr vieleicht woran das liegen kann?

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group