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

xxmongolexx

Frischling

  • »xxmongolexx« ist der Autor dieses Themas

Beiträge: 15

Wohnort: Wien

Beruf: Schüler

  • Private Nachricht senden

1

24.03.2015, 17:04

Item Klasse ?

Hii,

ich bin noch relativ neu in der Spieleprogrammierung Szene.
Ich bin mittlerweile schon so weit dass,

ich einen Sprite bewegen kann,
einen Sprite hüpfen lassen kann,
ein Menü erstellen kann(mit Buttons und Text und Texture undalles drum und drann) und
Sound ausgeben kann.

Jetzt würde mich interessieren wie ich das mit Items machen soll.
Ich habe mir überlegt das ich vllt. eine Klasse mache und von der ich beliebig viele Instanzen erstellen kann.
Und bei jeder Instanz übergebe ich dann den Pfad der Texture,
ein Character soll dann sozusagen als Attribut Zeichen da sein zB. „D“ für Damage, „A“ für Ausdauer usw…,
den Scale Faktor damit ich auch verschiedene Größen einstellen kann und die Position(ja erklärt sich von selbst :)).

Das wäre mein Ansatz gewesen und nicht zu fehlen die Kollision aber das hab ich schon was passendes gefunden.

Würde mich über ein paar Tipps wie so eine „Item“ Klasse aussehen soll freuen.

p.s.: Ich arbeite in der Programmiersprache "C++" und der Library "SFML".


fG Felix :)
Anfänger in der Spieleprogrammierung mit Libgdx 1.6

Lares

1x Contest-Sieger

  • Private Nachricht senden

2

24.03.2015, 17:33

Bevor du dich an eine Item-Klasse setzt solltest du dir erst mal Gedanken machen, wofür das Item genau da ist. Klingt trivial, aber ein Item im Inventar hat eine andere Funktionsweise als ein Item-Drop von einem Gegner. Soweit, dass man dafür separate Klassen verwenden kann.
Wenn du Waffen etc. als Items umsetzen willst, kannst du du deren Gegenstandsattribute durch Chars als Bezeichner und einer weiteren Variable für den Wert verwenden (ich glaube, das ist, was du machen wolltest). Problem ist nur: Was machst du, wenn ein Item mehrere Werte ändert, oder ganz andere Effekte hat (z.B. Teleportieren)?. Es könnte unter Umständen hilfreich sein den Effekt des Items vom Item selbst zu trennen und eine Art Manager die Effekte durchführen zu lassen. Diesen wird das Item gegeben und je nachdem welches Item es ist führt er andere Aktionen aus.

xxmongolexx

Frischling

  • »xxmongolexx« ist der Autor dieses Themas

Beiträge: 15

Wohnort: Wien

Beruf: Schüler

  • Private Nachricht senden

3

24.03.2015, 17:42

Also mein Gedanke war einfach man hat ein Item was im Inventar liegt und wenn man einen Gegner tötet wird einfach das Item sofort ins Inventar gelegt. Und bei mir hab ich mir es dann so vorgestellt das ich die Methode/Konstruktor überlade das ich mir es halt aussuchen kann wenn es mehr als ein Attribut hat. Dann gibt es halt 2Chars und 2Floats oder dem entsprechend mehr. Das mit dem Teleportieren und so will ich erst viel später machen aber danke für den Gedanken kick :)
Anfänger in der Spieleprogrammierung mit Libgdx 1.6

Lares

1x Contest-Sieger

  • Private Nachricht senden

4

24.03.2015, 17:53

Man kann sich überlegen, ob man statt der Chars und den Floats lieber direkt ne std::map als Klassenattribut benutzt und die Änderungen dann in die map einträgt. Dadurch könnte man sich Konstruktorüberladungen sparen. Oder man geht direkt hin und erstellt sich eine Datenstruktur Stats, für HP, Damage, etc. und ändert dann die entsprechenden Werte. Dadurch braucht jedes Item natürlich mehr Speicherplatz, es solte aber den Umgang mit diesen vereinfachen.
Das sind nur Vorschläge, im Endeffekt hängt es stark vom Rest deiner Architektur ab, was sinnvoll ist (z.B. wie viele Eigenschaften ein Item besitzen kann).

Werbeanzeige