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

Werwofl

Treue Seele

  • »Werwofl« ist der Autor dieses Themas

Beiträge: 100

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

11

29.09.2011, 16:46

Also offensichtlich doch mit Sprites, wobei das offensichtlich bei SFML 2.0 wieder anders ist. Aber die nutz ich ja noch nicht :P

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

12

29.09.2011, 23:23

und ich sage immernoch: keine Sprites für die Umgebung
wie man im Wikipediaartikel lesen kann, wurden diese für Charaktere und ähnliches verwendet (die darüber animiert wurden)
ich denke zwar nicht, dass es sich um exakt diese handelt, aber es handelt sich um das gleiche Prinzip

mal davon etwas, was schon eher nachvollziehbar sein dürfte:
für jedes einzelne Feld auf der Karte erstellst du ein Objekt, welches verschiedene Werte speichert (die Position des Sprites, eine Referenz auf das Tileset und ein Index für das richtige Tile)
auf diese speicherst du in einem Array Referenzen
ALLERDINGS!
die Position lässt sich durch die Position im Array bestimmen
das Tileset ist für alle das gleiche (wenn nicht, dann braucht man kein Tileset, sondern viele Einzelbilder, wodurch der Index entfallen würde)
im Datenbankbereich würde man von Redundanzen sprechen
solange du nur sehr kleine Welten hast (5x5), wird das noch nicht sehr dramatisch sein, allerdings sollte man dennoch nicht verschwenderisch mit Ressourcen umgehen

ich empfehle, eine Klasse für diese Welten (nenn sie ruhig "Map" oder "Abschnitt") zu erstellen, die das Tileset speichern und ein 2-dimensionales Array für die Indexe (/Indizies) der einzelnen Felder

vielleicht liege ich auch völlig falsch und überschätze das ganze, aber dennoch bin ich der Meinung, dass Sprites dafür nicht geeignet sind
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

13

30.09.2011, 10:52

Naja Sprites sind ja eigentlich ganz anders gedacht, wobei man auch gucken muss was Sprites ursprünglich mal waren. Damit haben unsere Sprites hier ja wenig gemeinsam. Ansonsten erweitert eine Sprite ein Image ja erst mal um eine Position und weitere Attribute. Ich weiß jetzt nicht genau was die SFML-Sprites so alles liefern. Ich würde einfach gucken, wie viel ich davon brauche und wie viel nicht. Und dann abschätzen. Man kann wohl auch seine Welt aus diesen Sprites Kacheln. Klar wäre eine eigene Tile-Klasse um einiges schöner, aber wenn er gerne möchte, finde ich spricht wenig dagegen. Man möge mich für meine fehlenden SFML Kenntnisse hinrichten;)
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

14

30.09.2011, 10:57

was mir vor einer Weile eingefallen ist:
es gibt in SFML auch eine View Klasse, mit der zusammen sich Sprites eventuell etwas leichter handhaben lassen, wenn man damit eine Map erstellen will (die auch scrollen soll)
allerdings ist sowas kein zu großes Problem (man kann also auch selbst eine einwandfrei scrollende Map erstellen, von der auch nur die Felder gezeichnet werden, die tatsächlich sichtbar sind)
allerdings weiß ich nicht, ob es bei einer eigenen Map Klasse zu Problemen mit der View kommt (also dass man nicht mehr all deren Vorteile nutzen kann, die ich nicht einmal kenne)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

15

30.09.2011, 11:15

Also offensichtlich doch mit Sprites, wobei das offensichtlich bei SFML 2.0 wieder anders ist. Aber die nutz ich ja noch nicht :P

Ja selbstverständlich mit Sprites. Sprites visualisieren deine Bilder. Images repräsentieren deine Bilder im Speicher. Deswegen ist das auch getrennt. Ein Image musst du genau ein einziges Mal laden und kannst es danach 1000 Mal verwenden. Einen Sprite solltest du für jedes Objekt erstellen.
Bei der SFML 2.0 ist das auch nicht anders. Hier gibt es nur statt Images nun Textures, aber das Prinzip bleibt im Grunde das Gleiche(zumindest noch).

Ansonsten kannst du mal diesen Artikel lesen, da wird ein Anhaltspunkt gegeben, wie man Images und Sprites verwalten kann.

Werwofl

Treue Seele

  • »Werwofl« ist der Autor dieses Themas

Beiträge: 100

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

16

30.09.2011, 12:23

Also offensichtlich doch mit Sprites, wobei das offensichtlich bei SFML 2.0 wieder anders ist. Aber die nutz ich ja noch nicht :P

Ja selbstverständlich mit Sprites. Sprites visualisieren deine Bilder. Images repräsentieren deine Bilder im Speicher. Deswegen ist das auch getrennt. Ein Image musst du genau ein einziges Mal laden und kannst es danach 1000 Mal verwenden. Einen Sprite solltest du für jedes Objekt erstellen.
Bei der SFML 2.0 ist das auch nicht anders. Hier gibt es nur statt Images nun Textures, aber das Prinzip bleibt im Grunde das Gleiche(zumindest noch).

Ansonsten kannst du mal diesen Artikel lesen, da wird ein Anhaltspunkt gegeben, wie man Images und Sprites verwalten kann.


Danke Fred, so hatte ich das in SFML auch von Anfang so verstanden. Mal schauen ob ich mir einen eignen ImageManager baue oder ich das erstmal ganz primitiv halte .. Ich werd's mir mal anschauen. Danke an alle :)

Werwofl

Treue Seele

  • »Werwofl« ist der Autor dieses Themas

Beiträge: 100

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

17

30.09.2011, 13:49

Ok lag wirklich am mehrmaligen laden in den Speicher. Der initiale hochstart ist jetzt deutlich schneller.

Werbeanzeige