rennstrecke
Übersicht

totonak5Betreff: rennstrecke |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi!
ich möchte ein 2d rennspiel machen. vorerst geht es bei der strecke nur aufwärts (gerade aus). ich habe meinen quelltext jetzt stark vereinfacht. nehmen wir an die strecke, die ich auf einem grafikprogramm gezeichnet habe ist 640x3000 pixel groß. wie mache ich es, dass sich die geschwindigkeit der fortbewegung der rennbahn verlangsame, wenn das auto auf die seite fährt? Code: [AUSKLAPPEN] Graphics 640,480 SetBuffer BackBuffer() bild = LoadImage("auto.png") Hintergrund = LoadImage("hintergrund.png") strecke = LoadImage("Strecke.png") Dim Auto(359) For Winkel = 0 To 359 Auto(Winkel) = CopyImage(bild) RotateImage auto(Winkel), Winkel - 90 MidHandle auto(Winkel) Next X# = 300 Y# = 300 YStrecke = -3000 Repeat Cls TileBlock hintergrund DrawImage Strecke,0,YStrecke If KeyDown(203) Then Winkel= Winkel - 0.8 If KeyDown(205) Then Winkel= Winkel + 0.8 If Winkel > 359 Then Winkel = 0 If Winkel < 0 Then Winkel = 359 If KeyDown(200) Then Geschwindigkeit = 5 x = X - Cos(Winkel) * Geschwindigkeit EndIf If Not KeyDown(200) Then geschwindigkeit = 0 YStrecke = YStrecke + geschwindigkeit DrawImage auto(Winkel),X,Y Flip Until KeyHit(1) danke im voraus lg |
||
Just for Fun!
Jesus loves U! |
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
setze für die Geschwindigkeit eine Variable ein (speed) und frage bei jedem Durchlauf ab ob die x Position des Autos noch innerhalb der Rennstrecke liegt. Wenn ja, packe die Geschwindigkeit auf 5, wenn nicht, packe sie auf 4 oder was du halt willst. | ||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
totonak5 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das meine ich nicht!
wenn kurven fahre, wird die vorwärtsbewegung langsamer, weil die seitwärtsbewegung schneller wird, verstehst du was ich meine? |
||
Just for Fun!
Jesus loves U! |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Berechne die Differenz seit dem letzten verändern der Positionsvariablen des Autos und diesen Wert benutzt Du zum bewegen der Map.
Btw: die eine oder andere Graka könnte mit dem verwalten eines solch großen Bildes Probleme haben und Fehler bei der Darstellung machen. Eine Tilemap wäre wohl speicherschonender, zuverlässiger und flexibler ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sagen dir Cos und Sin was? Damit könntest du die Geschwindigkeit nach vorne abhängig vom Drehwinkel des Autos berechnen. | ||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
totonak5 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naja ein bisschen kenne ich mich mit dem aus. aber wie ich das ausrechnen könnte weis ich nicht.
könntest du mir da helfen? |
||
Just for Fun!
Jesus loves U! |
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, könntest du deine Frage von oben mal etwas genauer schildern?
Möchtest du nun, wenn das Auto eine Kurve fährt die Geschwindigkeit nach oben verringern (Das hast du in dem Code doch schon gelöst, oder)? Oder möchtest du, wenn das Auto auf einen Seitenstreifen fährt die Geschwindigkeit verringern? |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
totonak5 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja, ich möchte, wenn ich eine kurve mache, dass sich die geschwindigkeit nach oben verringert. | ||
Just for Fun!
Jesus loves U! |
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann kannst du doch den Winkel des Autos nehmen und die Geschwindigkeit abhängig davon verändern, oder mache ich da einen Denkfehler?
Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
totonak5 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
es würde vielleicht so funktionieren, aber da muss ich mir für jeden winkel die geschwindigkeit ausrechnen und dann gäbe es noch jede menge schreibarbeit.
ich meine vielleicht kann man es doch, wie Firstdeathmaker schon gesagt hat mit cos und sin machen!? lg |
||
Just for Fun!
Jesus loves U! |
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wieso, wenn du es mit einer Formel machst, sollte das eigentlich kein Problem sein, oder?
Vielleicht so (angenommen dein 0° Winkel ist nach oben): Code: [AUSKLAPPEN] Geschwindigkeit# = 5 - (Winkel / 100) ;5 sollte dabei der normale speed sein Kann sein, dass du am Verhältniss noch etwas feilen musst, aber gennerell sollte es so funktionieren. Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
totonak5 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja ich könnte es im prinzip so probieren.
also viel feilen wäre angesagt ![]() 90° zeigt immer nach oben... |
||
Just for Fun!
Jesus loves U! |
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann dreh entweder dein Bild oder nimm die Formel:
Code: [AUSKLAPPEN] Winkel = Winkel - 90 If Winkel < 0 then Winkel = Winkel + 360 . . ;hier meine Formel . winkel = winkel + 90 Aber einfacher wäre es, wenn du das Bild in fahrtrichtung drehst (du fährst doch nach oben, oder?) Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Warum nicht einfach:
Code: [AUSKLAPPEN] YStrecke = YStrecke + geschwindigkeit * Sin(winkel)
Außerdem - sollte es reichen, wenn du die Grafik in 3 oder 5 Grad Winkeln ablegst - Winkel + 0.8 entspricht Winkel + 1, solange diese Variable nicht als Float (Winkel#) definiert ist |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast doch auch schon für die Seitwärtsbewegung so etwas in der Art geschrieben:
Zitat: x = X - Cos(Winkel) * Geschwindigkeit
Das gleiche jetzt nochmal für die geradeausgeschwindigkeit aber mit Sinus. |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das ist doch gar nicht sein Problem, oder? Ich dachte er wollt, das das Auto langsamer wird, wenn es sich dreht. Wenn es nur um die vorwärts Bewegung geht, dann ist es glaub ich immer so:
Code: [AUSKLAPPEN] x = x - Cos(Winkel) * Geschwindigkeit y = y + Sin(Winkel) * Geschwindigkeit Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe hier mal was für euch. Ursprünglich wollte ich auch mal ein 2D-Renner machen, habe dann aber abgebrochen. Um die Fahreigenschaften zu testen, habe ich ein extra Programm geschrieben. Vielleicht kannst du noch was draus lernen.
[url]www.funforge.org\Public\GTA.rar[/url] |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
totonak5 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke, leute!
ich habe das problem mit dem tip von big bug gelöst. danke! lg aron |
||
Just for Fun!
Jesus loves U! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group