Kollsision von 2d images...
Übersicht

![]() |
ChaosCoderBetreff: Kollsision von 2d images... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also erst mal: Ich bin ein Anfänger!!!
Ich möchte ein 2Spieler game progammieren und hab da mal ne frage: Man kann 2 Panzer steuern(jeder spieler einen) und wenn die sozusagen aneinander stoßen, sollen sie sich nicht mehr aufeinander zu bewegen können... muss ich dass dann mit if schreiben und alle x u. y positionen angeben, oder geht das auch schneller... außerdem hab ich damit das problem, das, wenn beide aufeinander zufahren, dass sie einfach durch sich durch fahren... ![]() Beispiel: If spieler1y+48>spieler2y And spieler1y<spieler2y+48 And spieler1x+48<spieler2x And spieler1x+48>spieler2x-2.5 panzergeschwindigkeitnachrechts=0 Else panzergeschwindigkeitnachrechts=2.5 EndIf Die Variablen wurden natürlich in echt anders genannt, hier nur zur veranschaulichung... Ich hoffe ihr könnt mir helfen... |
||
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du kannst mit ImagesCollide() überprüfen, ob sich die beiden Panzer berühren. Wenn das eintrifft kannst du in der If-Abfrage den Spieler-Speed auf 0 setzen. | ||
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du kannst auch befehle wie imagescollide etc. benutzen.
siehe: http://www.blitzbase.de/menu/2h.htm du musst halt einfach vor jeder Bewegung prüfen ob sich die panzer berühren und dann erst die position verändern. |
||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
jaja... aber ich möchte dann auch noc wegfahren können...
würde ich den speed auf 0 setzen, kömmten beide nich mehr weg fahren... oder hab ich was falsch verstanden? Danke trotzdem für die Hilfe... |
||
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann musst du wohl einen Rückwärtsgang einbauen. ![]() |
||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also entweder bin ich zu dumm... oder ihr verarscht mich...
Ich kann mit "w, a, s, d" Spieler 1 steuern und mit den pfeiltasten Spieler 2... Ich möchte halt einfach nur, das sie nicht mehr durch sich durch fahren sondern, dass sie sich nicht einmal berühren können... ich will ja auch wieder weg fahren und zwar in die entgegengesetzte richtung!!!!!!!!! setzte ich aber den speed auf 0 kann er ja noch nich mal das... Bitte helft mir doch! ![]() |
||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also entweder bin ich zu dumm... oder ihr verarscht mich...
Ich kann mit "w, a, s, d" Spieler 1 steuern und mit den pfeiltasten Spieler 2... Ich möchte halt einfach nur, das sie nicht mehr durch sich durch fahren sondern, dass sie sich nicht einmal berühren können, sondern stehen bleiben, falls sie sich zu nahe kommen... ich will ja auch wieder weg fahren und zwar in die entgegengesetzte richtung!!!!!!!!! setzte ich aber den speed auf 0 kann er ja noch nich mal das... Bitte helft mir doch! ![]() |
||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
sorry wegen doppelpost^^!!!!!!!!! | ||
![]() |
Ralf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
das ist doch ganz einfach! Da gibt es viele Möglichkeiten das zu realisieren. Die einfachste dürfte für Dich aber sein, das Du die Panzer beim Zusammprall einfach etwas in die entgegengesetzte Richtung abprallen lässt, zumindest soweit das sie sich nicht mehr berühren. Ralf |
||
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oder du überprufst den Panzer ein Pixel weitervorne:
Code: [AUSKLAPPEN] if Imagecollide PanzerX+1,............ = 1 then vorwärtsfahren = 0 if vorwärtsfahren <> 0 and KeyDown() then Das kannst du dann in alle 4 Richtungen machen.... |
||
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
so wie es sich anhört, überlagern sich die Bilder schon, wenn du die Bewegung durch die Kollisionsabfrage unterbrichst. Wenn du jetzt rückwärts fahren willst, überlagern sich die Bilder am Anfang aber immer noch, so das dein Panzer wohl nie mehr wegfahren wird.
simi's Lösung ist zum Beispiel ein sehr guter Ansatz. Du Überprüfst, ob es eine Kollision GEBEN WÜRDE, wenn du in die gewünschte richtung fährst ![]() |
||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
und das mit dem imagescollide würde ich hierbe vergessen da du net herauskrigest wo der kollidiert ist also simi´s vorprüfung!! | ||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
fettes dankeschön an simi und natürlich auch an alle anderen...
problem wurde gelöst... kann also geclosed werden... ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group