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

Raidenkk

Treue Seele

  • »Raidenkk« ist der Autor dieses Themas

Beiträge: 151

Wohnort: Bergkamen/Oberaden

Beruf: Multimedia Informatik

  • Private Nachricht senden

1

05.06.2012, 13:26

Funktionsübergabe von Game in Player

Hey,
ich habe derzeit folgendes Problem:
Ich habe meine Steuerung derzeit in meiner Spieler Klasse und meine Kollisionsmethode die bei einer Kollision nen bool true zurückgibt in der Game Klasse.
Jetzt muss ich aber genau nach jedem Tastenschlag prüfen ob eine Kollision besteht oder nicht wenn true, dann setze ich den Spieler wieder zurück.
Leider weis ich jetzt nicht wie ich meine Methode von der Game Klasse in meiner Spieler Klasse bekomme und ob es so überhaupt richtig OOP ist.

Da ich leider gerade nicht zuhause bin habe ich nur ein Bild zur Verfügung:

Dropbox PNG: #mce_temp_url#


MFG:
RaidenKK / Kevin.K

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

05.06.2012, 14:25

OOP ist alles, was in Klassen liegt. Ob es eine gute Klassen-Struktur ist, das zweifle ich jetzt mal an, weil ein Spieler eigentlich keine Tastatur kennt, sondern das wäre ja irgendein Controller, der die SpielFIGUR steuert. Auch Kollisionen würde ich extern berechnen lassen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

FreezingEngine

Treue Seele

Beiträge: 280

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

3

05.06.2012, 14:35

Wenn du willst kann ich dir ne Collision-Klasse geben die habe ich mal von einem Freund bekommen die funktioniert prima!
Bei Interesse schreib einfach ne PN^^

Ansonsten mache ich das so das mein Framework alle Eingaben verarbeitet das ist meine "Basisklasse",
und wie man weiß kann man Klassen die ganz unten in der Herachie sind ganz oben trozdem verwenden auch
wenn teilweise unhandlich und "unprofessionell" ^^
"He who sacrifices freedom for security deserves neither."
Benjamin Franklin

Raidenkk

Treue Seele

  • »Raidenkk« ist der Autor dieses Themas

Beiträge: 151

Wohnort: Bergkamen/Oberaden

Beruf: Multimedia Informatik

  • Private Nachricht senden

4

05.06.2012, 14:46

Hmm jetzt weis ich nicht wie ich es Strukturieren soll da die Kollisionsabfrage direkt nach einer Taste kommen muss :/. Mir fällt keine Lösung ein wie ich es schaffe das die Kollisionsabfrage in meiner Game klasse bleibt aber gleichzeitig wie gesagt die Kollisionsabfrage nach jedem Tastenschlag in meiner Spieler klasse ausgeführt wird. Ein Teufelskreis :dead:

PS:
FreezingEngine ich schreibe mein Spiel um zu lernen und möchte deswegen gerne alles selber schreiben (Danke trotzdem).

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

05.06.2012, 14:57

Genau genommen muss sie ohnehin nicht nach einem Tastendruck durchgeführt werden, sondern vor oder nach jeder Bewegung. Die Taste kann dir dabei total egal sein. Du willst ja sicher nicht, dass sich die Figur nur einmal um X Pixel bewegt, wenn man die Taste drückt, sondern dass sie sich ab diesem Zeitpunkt jeden Frame um X Pixel bewegt. Da Frames aber verschieden lange dauern können, ist X somit variabel und Du musst die Position nach der Bewegung gegen eine Wand eventuell korrigieren. Das Konzept ist also ein komplett anderes.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Raidenkk

Treue Seele

  • »Raidenkk« ist der Autor dieses Themas

Beiträge: 151

Wohnort: Bergkamen/Oberaden

Beruf: Multimedia Informatik

  • Private Nachricht senden

6

05.06.2012, 15:15

Das Problem ist, wenn ich nicht die While schleife zum zurücksetzen nach jedem Tastendruck mache. Das ich nicht weis wie ich es hinkriege in welche Richtung überhaupt zurückgesetzt werden soll da ja zwar bekannt ist das eine Kollision stattfindet aber nicht in welche Richtung. Wenn ich den Key der gedrückten Taste von Player an Game übergebe, habe ich wiederum das Problem das nur 1 Key immer benutzt werden kann.

FreezingEngine

Treue Seele

Beiträge: 280

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

7

05.06.2012, 15:26

Kann ich verstehen ^^
Aber warum das Rad neu erfinden?

Kannst ja theorien zur Kollisionerkennung lesen und hast
gleichzeitig eine gute,funktionierende kollisionsklasse.
"He who sacrifices freedom for security deserves neither."
Benjamin Franklin

Raidenkk

Treue Seele

  • »Raidenkk« ist der Autor dieses Themas

Beiträge: 151

Wohnort: Bergkamen/Oberaden

Beruf: Multimedia Informatik

  • Private Nachricht senden

8

05.06.2012, 15:35

Es ja nicht an der Kollision sondern ehr an meine Klassen Struktur und ich nicht weis wie und wo ich am besten was mache.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

06.06.2012, 06:42

Das Problem ist, wenn ich nicht die While schleife zum zurücksetzen nach jedem Tastendruck mache. Das ich nicht weis wie ich es hinkriege in welche Richtung überhaupt zurückgesetzt werden soll da ja zwar bekannt ist das eine Kollision stattfindet aber nicht in welche Richtung. Wenn ich den Key der gedrückten Taste von Player an Game übergebe, habe ich wiederum das Problem das nur 1 Key immer benutzt werden kann.

1) Du sollst überhaupt nichts von der Spielfigur an das Game übergeben, sondern andersrum. Das Game behandelt die Keys und sagt der Spielfigur wo's lang geht.
2) Das funktioniert prima mit einer unendlichen Anzahl Keys.
3) Du brauchst keine While-Schleife für das Zurücksetzen.
4) Das Game weiß in welche Richtung zurückzusetzen ist, nämlich in die entgegengesetzte der aktuellen Bewegung der Spielfigur.
5) Wie ich schon sagte, Du sollst nix zurücksetzen nach irgendeinem Tastendruck, sondern nachdem die theoretisch nächste Position der Spielfigur berechnet wurde. Das ist von den Keys erstmal total unabhängig. Das Game versetzt die Spielfigur anhand von Keys in eine Bewegung. Die Bewegung wird berechnet. Das Game führt Kollisionen durch und korrigiert die Position der Spielfigur.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige