Tutorial mit GTA kollision
Übersicht

cybyBetreff: Tutorial mit GTA kollision |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi,
ich suche eine Tutorial wo das mit einer GTA(sollte klar sein) kollision erklärt wird . Ich frage weil ich mich in sin und cos nicht auskenne weis zwar das man damit irgentwie winkel berechnen kann oder so ![]() wäre nett wenn mir da wer einen Link geben könnte mfg cyby |
||
![]() |
BigSnake |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Kollision ist dabei auch nicht anders. Sin / Cos brauchst du dabei nur für die Bewegung, nicht für die Kollision | ||
![]() |
Suco-XBetreff: ...... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich finde es ziemlich sinnlos das hier nach Tutorials für irgendwelche Spielabschnitte von Games gefragt wird. Schau dir doch die befehle auf blitzbase an. Da liegt doch immer eine erklärung und beispielcode dabei. Lerne daraus zu lernen. Nur weil sich das internet immer weiter Verbreitet heißt es nicht das du nicht mal selbstständig paar Sachen rausfinden kannst. Früher gabs noch kein Internet und es hat mit dem erlernen einer Programmiersprache ja auch geklappt, auch wen das hieß mal 6-7 Stunden lang an einem Problem zu sitzen. Und heute kriegst du ja schon eine einfache Sprache + Jede menge kostenlose Hilfe. Also helf dir selber, hast deinen Verstand ja nicht umsonst bekommen.
bye |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
cyby |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nun jut dann werde ich mal schauen, kann mir villeicht wer sagen welcher befehl dafür denn am besten ist ? | ||
![]() |
ViciouS |
![]() Antworten mit Zitat ![]() |
---|---|---|
welcher befehl????
für ne gta steuerung + kollision brauchst du mehr als einen befehl... wie gesagt sin + cos sind wichtig |
||
Skaten ist scheisse...
Bilanz: 3 Knochenbrüche in 4 Jahren... und es werden mehr ![]() |
cyby |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also ich habe jetzte eine steuerrung und brauche noch eine kollision und ich weis nicht wie die aussehen muss , also welche befehle braucht man da dann ?(gibt es doch sicher irgentwelche oder ...) | ||
![]() |
Mike Nike |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmmm...falls du mit "Kollision" nur auf die Kollisionsabfrage hinaus willst kann ich dich mit dem Befehl ImagesCollide zufrieden stellen, denke ich.
Aber ich habe das unglückliche Gefühl, du willst gleich den kompletten Code für den ganzen physikalischen Stoßprozess, genau wie bei GTA, haben. Falls du darauf hinauswillst, es gibt einige Tutorials dafür - es ist nur die Frage, welche Features du in deine Autobewegungen einbaust und ob sie 2D oder 3D sind und jenachdem...in wie weit du die Komplexität dieses physikalischen Problems, z.B. durch Vernachlässigung von Massen, reduzierst/reduzieren möchtest. Google mal nach "rigid body dynamics" oder nach "car physics". Ich glaube, da kannst du was brauchbares finden. Ich habe sie vor nicht allzulanger Zeit mal angesehen, habe aber nicht viel Neues herausgefunden, da ich mich im Vorhinein schon mit dem Problem länger auseinandergesetzt habe und auf gut Deutsch das Rad neu erfand... Spasseshalber habe ich auch ein Tutorial mal auf deutsch übersetzt, aber ich glaube auch nur zum Teil. Aber gebracht hats nicht viel, da das Englisch sowieso sehr einfach war... |
||
..where the only limit is your imagination. |
![]() |
Mattis_the_brain |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm... Collision? Na ja im eigendlichen ist es ganz einfach.
Kollisions Abfrage zwischen Auto und jedem festen Gegenstand wo das auto gegenfahren kann. Das machst du am besten mit hilfe einer Schleife die alle objekte Prüft. So das ist erst mal der rechenaufwendige teil jetzt kommt der teil mit dem du das Auto anhältst wenn es irgendwo gegen fährt. Also speicher die x und y Position deines Autos und ändere sie dann mit deiner "Bewegungsformel" Weis ich so in etwa wir das bei dir wohl aussehen: x=x+cos(winkel)*speed y=y+sin(winkel)*speed Da nach wie gesagt prüfen ob dein auto wo gegen fährt wenn ja dann einfach deine Autoposition wieder auf die alten gespeicherten werte zurücksetzen. Verstanden? Hmmm... ....so wie ichs erklärt hab bestimmt nicht also... Code: [AUSKLAPPEN] ;Eine Box Gegen die der Spieler gegen fahren kann Type box Field x, y Field b, h End Type ;Variablen für die Auflösung Global grafx=1024 Global grafy=768 ;Variablen für den Spieler Global Px#, Py#, wi, sp ;zehn Boxen werden zufällig erstellt For x=1 To 10 CreateBox(Rand(0, grafx), Rand(0, grafy), Rand(10, 200), Rand(10, 200)) Next ;Grafikmodus wird gesetzt Graphics(grafx, grafy, 16, 1) ;setzt den Buffer auf den gezeichnet werden soll fest SetBuffer BackBuffer() ;beginn der Hauptschleife While KeyHit(1)=0 ;Winkel ändern If KeyDown(205) Then wi=wi+3 If KeyDown(203) Then wi=wi-3 If wi>360 Then wi=0 If wi<0 Then wi=360 ;vorwärts fahren? sp=KeyDown(200)*3 ;rückwärts fahren? If sp=0 Then sp=0-KeyDown(208)*3 ;Speichern der Spielerposition OPx=Px OPy=Py ;berechen der neuen Spielerposition Px=Px+Cos(wi)*sp Py=Py+Sin(wi)*sp ;wenn wo gegen gefahren dann die Spielerposition zurück setzen If Kollision()=1 Then Px=OPx Py=OPy EndIf ;alles schwartz streichen^^ Cls ;die boxen malen RenderBox() ;den Spieler malen Rect Px, Py, 32, 32, 0 ;Den richtungspfeil malen Line Px+16, Py+16, Px+16+Cos(wi)*10, Py+16+Sin(wi)*10 Flip Wend End Function Kollision() ;eine Schleife die alle Boxen abfragt For box.box=Each box ;wenn Kollision dann gebe eins zurück If RectsOverlap(Px, Py, 32, 32, box\x, box\y, box\b, box\h) Then Return 1 Next End Function ;Function zum erstellen einer Box Function CreateBox(x, y, b, h) box.box=New box box\x=x box\y=y box\b=b box\h=h End Function ;zum zeichnen der Boxen Function RenderBox() For box.box=Each box Rect(box\x, box\y, box\b, box\h, 0) Next End Function |
||
cyby |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke euch ... habe jetzte die erste Demo ![]() gleich mal von slayer testen lassen was der meint ^^ |
||
![]() |
Mattis_the_brain |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hoffe doch das dus auch verstanden hast und nicht einfach meinen Code zurecht geschnitten hast ![]() |
||
cyby |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ne, ich hatte schon bevor du mit dem code kamst die kolli ![]() |
||
HOT-BITGast |
![]() Antworten mit Zitat |
|
---|---|---|
...
LOL ! Also, warum helfen. wenn sie sowieso alles besser und schneller können ![]() Toni |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group