2d collisions problem
Übersicht

![]() |
sili95Betreff: 2d collisions problem |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo
ich habe ein problem bei der 2d kollision. entweder ist das so kompliziert oder ich zu Dumm. also ich hab mich ziehmlich lange in allen möglichen toturials und foren und der bb-hilfe umgesehen aber irgendwie verstehe ich es nicht. Hier so wie ich es denke müsste es gehen: If ImagesCollide (auto,autox,autoy,0,pfosten,pfostenx,pfosteny,0) Then Print "crash!!" hoffentlich kann mir jemand helfen bitte ich bin voll anfänger ![]() |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, stimmt so.
wo liegt das problem? |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieht prinzipiell richtig aus. Du könntest auch Stop![]() ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
sili95 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei mir steht einfach egal wo ich das Auto hinbewege crash!!
sili95 ![]() |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
In demfall ist postenx = autox & posteny = autoy
post mal ein wenig mehr code, kann (noch) nicht hellsehen ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
sili95 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Graphics 640,480
SetBuffer BackBuffer() Global ground = LoadImage("C:\Dokumente und Einstellungen\Silvan\Desktop\das Game\land.bmp") Global pfosten=LoadImage("C:\Dokumente und Einstellungen\Silvan\Desktop\das Game\pfosten.bmp") Global auto= LoadImage ("C:\Dokumente und Einstellungen\Silvan\Desktop\das Game\auto.bmp") x=100 y=100 Repeat Cls DrawImage ground ,1,0,0 DrawImage pfosten,180,100,0 DrawImage auto,x,y If KeyDown(203) Then x=x-2 If KeyDown(205) Then x=x+2 If KeyDown (200) Then y=y-2 If KeyDown (208) Then y=y+2 If ImagesCollide (auto,autox,autoy,0,pfosten,pfostenx,pfosteny,0) Then Print "crash!!" Flip Until KeyDown(1) ---------------------------------- vieleicht habe ich auch irgendwo anderst ein fehler gemacht eben habe erst angefangen ![]() (das man x und y als variabeln setzten muss hab ich aus einem toturial) |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
die Variablen autox/y und pfostenx/y sind alle 0, da du ihnen nirgends einen wert zu gewiesen hast. | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bitte Codeboxen benutzen.
und ja: Da du die Variablen einfach einsetzt, werden sie von BB einfach = 0 gesetzt, damit liegen beide Bilder oben links und kollidieren entsprechend... änder die werte von autox/y oder pfostenx/y. Wo du das auto zeichnest ist vollkommen egal, wenn du diese Koordinaten nicht auch zum kollisions-check benutzt. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du erst gerade angefangen hast, versuch dich nicht gleich mit solchen Sachen, hat alles seine Zeit ![]() Du veränderst zwar X und Y aber nicht die Variable vom Auto (autox/autoy) |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
sili95 |
![]() Antworten mit Zitat ![]() |
---|---|---|
muss ich dann so?
z.b. global autox= 100 global autoy=120 oder so und das mit pfosten xy auch machen also eigentlich bin ich schon recht lange dran hab aber schon ein paar mal aufgegeben wegen diesem kollisionszeugs (was für Boxen?) ![]() |
||
![]() |
sili95 |
![]() Antworten mit Zitat ![]() |
---|---|---|
oder Bessere Frage wie kann ich machen dass z.b. das Auto einfach mit dem pfosten kollidiert?
wenn man das auto an Mausposition dann weiss ichs wies geht weil man weiss wo auto ist aber so weiss man ja nicht genau wo es sich befindet. Könnte man nicht irgendwie die autokoordinaten ermitteln oder so was?? ich beiss mir da drann noch die zähne aus grhhr ![]() |
||
![]() |
Duempel |
![]() Antworten mit Zitat ![]() |
---|---|---|
sili95 hat Folgendes geschrieben: weil man weiss wo auto ist aber so weiss man ja nicht genau wo es sich befindet.
Laut deinem Code befindet sich das Auto an der X-Koordinate "x" und der Y-Koordinate "y". Da du die Variablen autox und autoy nicht definierst musst du bei der Kollisionsabfrage anstatt autox und autoy einfach nur x und y verwenden. Und bei dem Pfosten ist es der selbe Fehler. Du hast pfostenx und pfosteny nicht definiert. Du musst den Variablen vorher noch einen Wert geben. In deinem Fall wäre es dann: Code: [AUSKLAPPEN] pfostenx = 180
pfosteny = 100 Oder du setzt diese Werte direkt in die Kollisionsabfrage: Code: [AUSKLAPPEN] If ImagesCollide (auto,x,y,0,pfosten,180,100,0)
Ich hoffe ich konnte dir helfen. Jan |
||
![]() |
sili95 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja jetz habe ichs endlich kapiert ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() vielen dank Jan ![]() |
||
SiSoFlo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
und jetzt noch die zwei unwichtigen Dinge:
![]() (was für Boxen?)
Quellcodetext markieren und oben auf "Code" klicken um den Code kommt in eckigen Klammern code ..... /code das sieht dann so aus: Code: [AUSKLAPPEN] Print "Mein code"
;code ;code wurde aber schon behandelt! ![]() mfG FLori |
||
So wie ihr von anderen Menschen behandelt werden wollt so behandelt sie auch! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group