AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Simple(?) Kollisionsabfrage in DelphiX
Thema durchsuchen
Ansicht
Themen-Optionen

Simple(?) Kollisionsabfrage in DelphiX

Ein Thema von logaan · begonnen am 1. Sep 2003 · letzter Beitrag vom 3. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von logaan
logaan

Registriert seit: 1. Sep 2003
Ort: Niemalsland
14 Beiträge
 
Delphi 3 Professional
 
#1

Simple(?) Kollisionsabfrage in DelphiX

  Alt 1. Sep 2003, 21:33
Hi leutz,

es ist wirklich zum verrückt werden... ich bekomm keine simple Kollisionsabfrage hin... also die Kollisionsabfrage eigentlich schon..
nur ich habe folgendes Problem:

Ich habe eine Figur (Sprite) und will, dass sie bei der Kollision mit einer Kiste (oder Wand etc.) einfach stehen bleibt (also das ich die Move Funktion ausser Kraft setze). Funktioniert eigentlich super...
Hab ne Boolean Variable (moving) gemacht und die wird auf false gesetzt, wenn man ne Kiste berührt... so nun kann man sich nicht mehr bewegen... aber auch nicht mehr von der Kiste weg!! Is echt nen Teufelskreis...

Bitte helft mir!

cya
logaan
  Mit Zitat antworten Zitat
Gandalfus

Registriert seit: 19. Apr 2003
407 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Simple(?) Kollisionsabfrage in DelphiX

  Alt 1. Sep 2003, 21:57
IF x+1 in der kiste then
kollision
x=x
else
normal bewegen
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Simple(?) Kollisionsabfrage in DelphiX

  Alt 1. Sep 2003, 21:57
MIt delphix kenn ich mich net so asu , zeig mal die source von move!
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von logaan
logaan

Registriert seit: 1. Sep 2003
Ort: Niemalsland
14 Beiträge
 
Delphi 3 Professional
 
#4

Re: Simple(?) Kollisionsabfrage in DelphiX

  Alt 1. Sep 2003, 22:03
Delphi-Quellcode:
     if (isUp in Form1.DXInput1.States) and (y > 0) then begin
       y := y - 1; moving := true; AnimStart := 1; Direction := 0; end;
     if isDown in Form1.DXInput1.States then begin
       y := y + 1; moving := true; AnimStart := 7; Direction := 6; end;
     if (isLeft in Form1.DXInput1.States) and (x > 0) then begin
       x := x - 1; moving := true; AnimStart := 10; Direction := 9; end;
     if isRight in Form1.DXInput1.States then begin
       x := x + 1; moving := true; AnimStart := 4; Direction := 3; end;
Das Leben ist ein scheiß Spiel aber die Grafik is geil
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#5

Re: Simple(?) Kollisionsabfrage in DelphiX

  Alt 1. Sep 2003, 22:07
hmm....

wenn checkst an welcher Seite die Kiste ist kannst du ja nur die eine
Richtung sperren sonst wüsst ich auch net wie.
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von logaan
logaan

Registriert seit: 1. Sep 2003
Ort: Niemalsland
14 Beiträge
 
Delphi 3 Professional
 
#6

Re: Simple(?) Kollisionsabfrage in DelphiX

  Alt 1. Sep 2003, 22:10
Hab ich auch gerade probiert... aber wenn ich mich dann in die andere Richtung der Kiste entfernen will, is der Blickwinkel ja wieder anders und dann wird die Kollisionsabfrage für diese Richtung aufgerufen und dann geht'S immer noch net
Das Leben ist ein scheiß Spiel aber die Grafik is geil
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Simple(?) Kollisionsabfrage in DelphiX

  Alt 1. Sep 2003, 22:14
mach um die figur herum 8 ganz kleine sprites , an jeder ecke einen und
immer in der mitte der linien , diese bewegst du mit der figur zusammen und schaust welche von denen kollidiert :
irgendeiner von der rechten seite : bewegen-nach-rechts := false
irgendeiner von der linken seite : bewegen-nach-links := false
und mit oben und unten kansst du's ähnlich machen .

S'gibt zwar sicher ne einfache delphix-lösung , aber da ich mich da nicht so auskenne kann ich dir sie nicht sagen.
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von logaan
logaan

Registriert seit: 1. Sep 2003
Ort: Niemalsland
14 Beiträge
 
Delphi 3 Professional
 
#8

Re: Simple(?) Kollisionsabfrage in DelphiX

  Alt 1. Sep 2003, 22:17
das hört sich schonmal vernünftig an (ich hoffe zwar, dass es noch ne leichtere Lösung gibt ) aber ich glaub ich probier's erstmal so!!

THX to all!!

cya
logaan
Das Leben ist ein scheiß Spiel aber die Grafik is geil
  Mit Zitat antworten Zitat
Benutzerbild von logaan
logaan

Registriert seit: 1. Sep 2003
Ort: Niemalsland
14 Beiträge
 
Delphi 3 Professional
 
#9

Re: Simple(?) Kollisionsabfrage in DelphiX

  Alt 2. Sep 2003, 12:09
Hat denn noch niemand beispielsweise nen Pacman Clone oder so in DelphiX programmiert?? Der musste sich doch bestimmt mit dem gleichem Problem rumschlagen...
Das Leben ist ein scheiß Spiel aber die Grafik is geil
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#10

Re: Simple(?) Kollisionsabfrage in DelphiX

  Alt 2. Sep 2003, 14:08
Ich mache das bei 2D-Spielen immer so:

Code:
Type TDirection = (dirNone, dirUp, dirDown, dirLeft, dirRight);

Var Dir : TDirection;
...

und frage bei einer Collision immer die aktuelle Laufrichtung und einen
Rand vom Spieler ab.

Beipiel:

Wenn der Spieler nach rechts läuft, dann wird gefragt, ob ausschließlich
der RECHTE RAND des Spielers die Kiste berührt. Ist dies der Fall,
dann wird die Laufbewegung Dir von dirRight auf dirNone gesetzt. Da beim
Laufen nach links logischerweise dementsprechend nur der linke Rand
abgefragt wird, könnte man problemlos von der Kiste abhauen.
Selbst dann, wenn man sich mit dem rechten Rand berührt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz