Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Developer_X

Treue Seele

  • »Developer_X« ist der Autor dieses Themas

Beiträge: 247

Wohnort: Hessen

Beruf: Schüler

  • Private Nachricht senden

11

10.07.2011, 14:12

Nur um das mal klarzustellen, weil ich mich sicherlich blöd ausgedrückt habe :
Ich weiß wie man Prüft, ob Rechteck A, in Rechteck B ist.

Ich weiß aber nicht, wie ich erkennen kann, ob Rechteck A jetzt auf B steht, unter B steht, links dran kommt, oder Rechts drankommt.

Weil Rechteck A könnte in B sein, nun ist zu entscheiden, wie es zurückgesetzt werden muss, oben drauf, unten drunter, links dran, oder rechts dran, verstehst du?

Das ist das Problem.
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. -
Kevin Riehl

12

10.07.2011, 14:15

naja, wenn die obere seite von Rechteck A in Rechteck B ist, ist Rechteck A logischerweise unter B. Wenn dann die rechte Seite von A B schneidet ist es links von B. Oder ist das auch nicht was du meinst?^^
Metal ist keine Musik sondern eine Religion.

Developer_X

Treue Seele

  • »Developer_X« ist der Autor dieses Themas

Beiträge: 247

Wohnort: Hessen

Beruf: Schüler

  • Private Nachricht senden

13

10.07.2011, 14:23

Nee irgendwie nicht, ich kann dir ja mal den Code zeigen den ich bisher habe nur um zu zeigen wie groß der ist, nicht um ihn zu erklären :
(Code entfernt damit der Thread nicht so lang ist)
Tjo, ich benutzte nicht irgendwelche vektoren.

Ich habe nur zwei rechtecke, das Spielerrechteck, und das Objekt Rechteck, die sich teilweise überschneiden.

Und jetzt habe ich zu entscheiden, obs drauf gelegt werden, soll, oder dies, oder das, verstehst du?

Ich glaube ich brauche die alte Position sonst geht das nciht.
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. -
Kevin Riehl

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Developer_X« (10.07.2011, 15:03)


foreach

Frischling

Beiträge: 87

Beruf: Student

  • Private Nachricht senden

14

10.07.2011, 14:31

Bist du dir eigentlich im Klaren darüber, dass z.B. "h*(4/5)", "w*(2/5)" immer 0 ergibt?

Developer_X

Treue Seele

  • »Developer_X« ist der Autor dieses Themas

Beiträge: 247

Wohnort: Hessen

Beruf: Schüler

  • Private Nachricht senden

15

10.07.2011, 14:35

why? Ah, weil ich kein Double nutze, sondern int, kk, habe das geändert...

Klappt leider immer noch nicht :(.
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. -
Kevin Riehl

Nexxtron

Alter Hase

Beiträge: 424

Wohnort: Heilbronn

Beruf: Student - Software Engineering

  • Private Nachricht senden

16

10.07.2011, 14:38

Ich würde dir raten eine allgmeine Kollisionsabfrage zu schreiben und wenn eine Kollision zutrifft prüfst du, ob der player zwichen x vom Objekt und x+width vom Objekt ist und prüfst, ob die Geschwindigkeit vom Spieler größer null ist, dann müsst er draufstehen und kleiner null müsst er druner sein, solange du dieses umgekehrte Koordinatensystem verwendest.

Edit: ah das machst du ja in dem geposteten Quellcode....war mir zu schwer zum indentifizieren
New Project: Operation CityRacer

Developer_X

Treue Seele

  • »Developer_X« ist der Autor dieses Themas

Beiträge: 247

Wohnort: Hessen

Beruf: Schüler

  • Private Nachricht senden

17

10.07.2011, 14:41

Tja, ich wollte das Spiel nicht sehr realistisch sondern altmodisch gestalten, deswegen, der spieler hat gar keine geschwindigkeit, verstehst du?

Ich denke, das sinnvollste ist es die alte position zu speichern, und mit der zu arbeiten, weil ich schaffe das sonst nicht :(.
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. -
Kevin Riehl

Developer_X

Treue Seele

  • »Developer_X« ist der Autor dieses Themas

Beiträge: 247

Wohnort: Hessen

Beruf: Schüler

  • Private Nachricht senden

18

10.07.2011, 14:54

Sorry, dass ich das jetzt mal so banal sage, aber hätte einer kurz Zeit, mit mir in Skype zu sprechen, bitte?
Ich schaffe das nicht alleine, wäre jemand von euch so freundlich?
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. -
Kevin Riehl

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

19

10.07.2011, 15:08

Ich glaube ich brauche die alte Position sonst geht das nciht.

Du hast eine Position. Dann schaust du wohin du das Ding setzen würdest. Wenn es keine Kollision gibt setzt du es dahin und sonst nicht. Dann kannst du immernoch anderes Zeugs machen, wie die Figur bis an die Wand schieben o.ä.

Developer_X

Treue Seele

  • »Developer_X« ist der Autor dieses Themas

Beiträge: 247

Wohnort: Hessen

Beruf: Schüler

  • Private Nachricht senden

20

10.07.2011, 15:10

Ja, momentan ist es aber so :
Sie wird erst bewegt, und danach geguckt, wie weit sie zurück muss :(.

Außerdem muss ich gucken : Hat die Figur Boden unter dem Füßen? Darf sie springen?
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. -
Kevin Riehl

Werbeanzeige