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

MK3E

Frischling

  • »MK3E« ist der Autor dieses Themas

Beiträge: 48

Beruf: Schüler

  • Private Nachricht senden

11

23.10.2013, 21:02

Wieder was gelernt, Danke
Coder aus Leidenschaft

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

12

29.10.2013, 17:52

Wie bereits geschrieben wurde: eine Trennung ist enorm wichtig!
In vielen Rollenspielen wird nicht die Anzahl an Erfahrungspunkten gespeichert, die man seit beginn des jeweiligen Levels gesammelt hat, sondern die Menge, die man über den gesamten Spielverlauf gesammelt hat. Zusätzlich hat man die Informationen darüber, wann der Charakter um ein Level steigt. So ist es sehr einfach möglich, die verbleibende Punktzahl auszugeben, bis man im Level steigt, im Level zu sinken (sofern das Spiel dies zulassen soll, bspw. wenn man Kämpfe verliert) usw.
Mit einer Progressbar alleine wird es schwierig, sollte man den Überhang eines Levelaufstiegs behalten wollen (aktuell 95 EP (von 100) und +10 EP -> Level + 1 und 5 EP).
Wenn es mal mehrere Charaktere gibt, die alle ein aktuelles Level haben und Erfahrungspunkte sammeln, dann bräuchte man für jedes eine ProgressBar, auch wenn man sie eigentlich gar nicht anzeigt. Will man dann von einem Charakter die ProgressBar nicht mehr anzeigen, dafür aber von einem anderen, muss man die entsprechend von der Oberfläche entfernen und hinzufügen.
Nicht zu vergessen, dass eine ProgressBar im Gegensatz zu einer einfachen Variable einen gewissen Overhead mit sich bringt.

@Bambi:
Das Spiel sollte aber nicht unbedingt selbst auf die Änderungen "des" Spielers reagieren. (Was würde man denn machen, wenn es mehrere Spieler gibt?)
Und warum willst du ihm "Listener"-Klassen andrehen? Er arbeitet mit C#, also kann er auch mit Delegates und Events arbeiten!
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

13

29.10.2013, 19:15

Listener-Klassen sind üblich bei Java, in C# aber in der Tat absolut verkehrt.
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]

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

14

29.10.2013, 19:41

Listener-Klassen sind schon sprachenspezifisch.
In C# benutzt man für solche Zwecke Events und Delegates.

MK3E

Frischling

  • »MK3E« ist der Autor dieses Themas

Beiträge: 48

Beruf: Schüler

  • Private Nachricht senden

15

29.10.2013, 20:37

Ich brauche für mein projekt das gar nicht. :) warum dann Implementieren?
aber bitte weiter so, ich bin noch am lernen :) Danke !!! :) :) :) :vain:
Coder aus Leidenschaft

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »MK3E« (29.10.2013, 20:42)


Werbeanzeige