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

1

24.04.2012, 17:30

[Anfänger] Grafik auf der Sich Punkte bewegen.

Grüß Gott,
also erstmal hoffe ich, dass ich das Richtige Forum erwischt habe. Bin noch neu hier, finde das Forum aber schon super :)

Mein Problem ist folgendes. Ich habe vor etwas zu Programmiere. Es ist nicht direkt ein Spiel im eigentlichen Sinne. Ich habe einfach "nur" vor eine Gebäudeplan als draufsicht zu "nehmen" und darauf dann Punkte zu bewegen. Diese Punkte sollen Menschen darstellen.

Ich bin noch blutiger Anfänger und habe noch nie so etwas Programmiert, deswegen verzeiht mir bitte wenn die frage blöd klingt. Aber wie mache ich das am besten.
Zuerst dachte ich mir, das ich die Datei einfach lade, dann den Punkt erstelle und einfach immer um die entsprechenden Pixel verschiebe. Damit hätte ich ja den Punkt auf der Karte bewegt.

Soweit, sogut. Dann kann mir der Gedanken, das mein Programm sowohl auf Netbooks etc., als auch über Beamer laufen soll. Diese besitzen ja eine sehr unterschiedliche Auflösung. Darum dachte ich mir, ich erstell meine Gebäudeplan als SVG, dann kann ich die SVG Datei quasi immer mit genau der Auflösung rendern die ich benötige.

Jetzt hätte ich dann aber das Problem, das ich meinen Punkt der sich auf der Karte bewegt nicht immer um xy Pixel verschieben kann. Da sich ja die Gesamtpixel Anzahl des Bildes immer ändert.

Habe ich da einen ganz groben Denkfehler drinnen. Oder wie löse ich mein Problem am besten?
Hat da einer eine Idee? Oder kann mir jemand einen Tipp geben nach was ich googeln soll?

Bin euch sehr verbunden.

Grüße
Peter

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

2

24.04.2012, 17:41

Dann musst du eben nicht um x pixel verschieben, sondern eben um eine einheit relativ zur größe der Spielwelt.
Beispiel: Definiere, dass das ganze Haus 20*20 meter groß ist. Dann bewegst du deinen Spieler mit 1 m/s.
Wie groß du das ganze renderst ist vorerst mal egal ;)
Erst am schluss geht es darum, die Positionen (in m) in tatsächliche Bildschirmkoordianten umzurechen. Dabei musst du dann eben das Seitenverhältnis (und die Auflösung) beachten.

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

3

24.04.2012, 17:51

Hey,

vielen Dank schonmal für die schnelle Antwort!
Jetzt wird mir das schon langsam klarer. Aber der Groschen ist immer noch nicht ganz gefallen.

Gibt es dafür evtl. irgendwo ein Code Beispiel oder nach was für Stichwörtern muss ich googlen bzw. die SuFu benutzen?

Grüße
Peter

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

4

24.04.2012, 18:38

Das hängt vor allem von der/dem Engine/Framework ab, das du verwenden willst.
Ich lege dir die SFML ans herz, die ist wirklich gut und hat eine (relativ) aktive community. Du bekommst hier im Forum auch einiges an Support dafür.

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

5

24.04.2012, 18:40

Vielleicht sagst du uns auch wie wir den Groschen zum Fallen bringen oder immerhin wie der Groschen heißt, vielleicht wissen wir dann ja, wie man diese Art eines Groschens zu Fall bekommt.
Ich hoffe, dass die Metapher nicht allzu missverständlich ist, für mich nämlich nicht. xD

MfG
Check

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Checkmateing« (24.04.2012, 20:04)


CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

6

24.04.2012, 18:58

Check, so viel wie wir wissen, könnten wir es mit einem 5-jährigen zu tun haben ^^ Stelle bitte sicher, das sein Gehirn nicht explodiert.
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

7

24.04.2012, 19:14

Hey,

also danke euch beiden für die Antworten.

SFML schau ich mir grad an. Bis jetzt dachte ich eig. das ich das mit SDL bzw. ein Wrapper davon lösen will. Aber ich bin für alles offen.

Die Metapher hab ich schon geschnallt. Ich bin ein kluger 5 Jähriger ;)

Also wenn ich das bis jetzt richtig verstanden hab.

Ich erstell meine Grafik und geb sie auf dem Display aus.
Die Pixel sind erstmal egal, weil wir ja wissen das meine Grafik immer 20m x 20m ist.
Dann definiere ich das mein Punkt/Person sich mit 1m/s bewegt.
Nehmen wir mal an das wir die Grafik mit 600*600px gerendert haben.
Dann weiß ich ja, dass 1m = 30px sind (600/20=30).
Also beweg ich mein Punkt pro Sekunde um 30px.

Ich glaub ich habs begriffen!
Vielen Dank! Der gedankenanstoss hat mir gefehlt!

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

8

24.04.2012, 19:29

Die Metapher hab ich schon geschnallt. Ich bin ein kluger 5 Jähriger ;)

Puh, da hatte ich schon Angst gehabt ;)

Schön, dass wir dir helfen konnten! SFML ist super, auch wenn sie (leider, noch) wahnsinnig verbuggt ist.
Viel Erfolg+Spaß!

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

Werbeanzeige