Kollsision von 2d images...

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

ChaosCoder

Betreff: Kollsision von 2d images...

BeitragMo, Jan 10, 2005 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
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... Crying or Very sad

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

BeitragMo, Jan 10, 2005 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Jan 10, 2005 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 11, 2005 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 11, 2005 20:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann musst du wohl einen Rückwärtsgang einbauen. Wink

ChaosCoder

BeitragMi, Jan 12, 2005 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
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! Crying or Very sad

ChaosCoder

BeitragMi, Jan 12, 2005 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
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! Crying or Very sad

ChaosCoder

BeitragMi, Jan 12, 2005 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry wegen doppelpost^^!!!!!!!!!

Ralf

BeitragMi, Jan 12, 2005 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jan 12, 2005 18:22
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jan 12, 2005 18:45
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink

Artemis

BeitragMi, Jan 12, 2005 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
und das mit dem imagescollide würde ich hierbe vergessen da du net herauskrigest wo der kollidiert ist also simi´s vorprüfung!!

ChaosCoder

BeitragFr, Jan 21, 2005 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
fettes dankeschön an simi und natürlich auch an alle anderen...
problem wurde gelöst... kann also geclosed werden... Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group