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

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

1

15.04.2006, 09:31

Physik

Nur so ne kurze Frage, bezüglich der Physik in einem meiner Spiele.

Ich hab vor, ein kleines 2D-Spiel zu coden, in dem mein Cousin und ich uns als Infanteristen bekämpfen könnten.
Nun ist mir beim Durchdenken des Ganzen (ist noch lange nicht durchplant) die Frage gekommen, wie man solche (ähnlichen) Sachen, die im Folgenden aufgeführt sind, realisiert:

- den Wurfbogen einer Granate
- den Sprungbogen der Infanteristen
- vllt. Projektile, die mit Entfernung an Höhe verlieren

- Zielungenauigkeit (krieg ich selber hin)

Das sind so die ersten Sachen, die mir eingefallen sind. Wär cos und sin eine Möglichkeit? In der Schule hatte ich das noch nicht aber gewisse Beispiele hab ich damit ja schon mal gesehen. Würde das hier auch passen?

Außerdem würde mich interessieren, wie man durch bitmaps animationen erreicht.
Ist folgendes eine Möglichkeit? Man zeichnet manuell eine große Bitmap mit allen Schritten, die die Spielfigur hat. Dann muss man die entsprechenden Teile aus der Bitmap abhängig von der bewegung des spielers an die Stelle zeichnen, an der der Spieler gerade ist (bzw sein wird, weil er sich bewegt).

==========
Ein Tipp übrigens: Wenn ihr ebenfalls ein Spiel programmieren wollt und ein kostenloses Mind-Map Programm braucht, dann wär 'FreeMind' eine Möglichkeit - danach zu googeln müsste brauchbare Ergebnisse liefern.

Mit freundlichen Grüßen,
WhiteMike

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

15.04.2006, 10:15

Re: Physik

Zitat von »"WhiteMike"«

- den Wurfbogen einer Granate
- den Sprungbogen der Infanteristen
- vllt. Projektile, die mit Entfernung an Höhe verlieren

Das ist nicht sonderlich schwer. Betrachten wir Granate und Infanterist beide mal als Physik-Objekt. Dieses Objekt benötigt nur die folgenden Eigenschaften:

- Position (x, y)
- Geschwindigkeit (vx, vy)

Wenn du jetzt z.B. eine Granate abfeuern willst, dann gibst du ihr eine hohe Anfangsgeschwindigkeit, z.B. (100, -100). Das wäre ein 45°-Winkel nach rechts oben (vorausgesetzt deine x-Achse läuft von links nach rechts und deine y-Achse von oben nach unten).
Nun machst du bei der Aktualisierung des Spiels (sollte so oft wie möglich pro Sekunde passieren) folgende Berechnungen, um das Objekt weiterzubewegen:

x = x + (t * vx)
y = y + (t * vy)

(Die Klammern sind unnötig, sind nur zum besseren Verständnis da.)

t ist hierbei die "Zeitvariable". Wenn du das Spiel 50x pro Sekunde aktualisierst, sollte t = 1/50 sein, d.h. das Spiel wird dann immer jeweils um eine fünfzigstel Sekunde weiterbewegt. Das dann 50x, und es passt.

Nun brauchen wir noch Gravitation:

vy = vy + (t * 9.81)

Mit dem Wert 9.81 musst du dann wohl noch was rumspielen. Wenn wir annehmen, dass eine Einheit (1 Pixel?) ein Meter ist, dann ist 9.81 realistisch für unseren Planeten.

Dann könntest du noch Luftwiderstand einbringen. Der Luftwiderstand ist quadratisch zur Geschwindigkeit, und Objekte mit großer Masse werden von ihm stärker beeinflusst als Objekte mit kleiner Masse. Wie du das umsetzen kannst, musst du dir selbst überlegen. Auf jeden Fall braucht dann jedes Objekt noch eine zusätzliche Angabe: nämlich seine Masse (üblicherweise in kg).

Zitat von »"WhiteMike"«

Ist folgendes eine Möglichkeit? Man zeichnet manuell eine große Bitmap mit allen Schritten, die die Spielfigur hat. Dann muss man die entsprechenden Teile aus der Bitmap abhängig von der bewegung des spielers an die Stelle zeichnen, an der der Spieler gerade ist (bzw sein wird, weil er sich bewegt).

Ja, so macht man das normalerweise.

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

3

16.04.2006, 09:33

Danke - daran werd ich eine weile arbeiten müssen. :)

Mit freundlichen Grüßen,
WhiteMike

Frede

Treue Seele

Beiträge: 259

Wohnort: Hameln

Beruf: Schüler

  • Private Nachricht senden

4

24.04.2006, 17:22

Aha

Und wie macht man das, dass man nur bestimmte Teile aus einer Bitmap liest und anzeigt????

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

5

24.04.2006, 17:26

Stichwort ColorKeying ;)
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

Frede

Treue Seele

Beiträge: 259

Wohnort: Hameln

Beruf: Schüler

  • Private Nachricht senden

6

24.04.2006, 18:24

Sagt mir leider nichts :crying:

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

7

24.04.2006, 18:41

Das soll heißen du solltest 1. Schleundigst in der DX-Dokumentation nachschaun und 2. die Forumsuche benutzen..
Wir helfen dir nur, und übernehmen nicht das Denken für dich!
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Frede

Treue Seele

Beiträge: 259

Wohnort: Hameln

Beruf: Schüler

  • Private Nachricht senden

8

24.04.2006, 18:43

Yep, schon klar :huhu:

Werbeanzeige