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

14.02.2012, 09:56

Schusswinkel

Hallo!

Ich weiß beim besten Willen nicht, wie ich es anstelle. Gerade aus feuern ist ja einfach, aber was ist wenn ich in einem bestimmten Winkel feuern möchte? In meinem Spiel kann man später die Kanone upgraden und mehrere Schüsse abgeben, die alle in verschiedene Richtungen fliegen sollen. Wie geht das? Wäre über jeden Tipp dankbar :S

MfG Clark

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

14.02.2012, 10:10

Was genau meinst du? In welchen Kontext bewegen wir uns? Was willst du realisieren?
@D13_Dreinig

3

14.02.2012, 10:21

Ich habe ein Schiff, wenn ich auf einen Knopf drücke, soll es sagen wir mal 3 Schüsse abgeben. Einen gerade aus, einen im 45 Grad Winkel links und einen 45 Grad rechts.
Die Schüsse sollen linear fliegen. Im 2d Koordinatensystem.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

14.02.2012, 10:31

Du könntest dafür einen Vektor verwenden und um +- 45° drehen um die Bewegungsrichtung der drei Projektile zu erhalten. Der Weg ist dann einfach eine skalierung der Vektoren. Oder stell die entsprechenden Geradengleichungen auf.
@D13_Dreinig

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

14.02.2012, 11:20

Hast du in der Schule noch keine Trigonometrie gelernt?
Stichwort Sinus und Kosinus ...

6

14.02.2012, 11:59

Sollen die Schüsse schräg fliegen, musst du nicht nur eine Komponente sondern beide verändern:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
//Nach oben:
Shoot.x+=0;
Shoot.y+=1;

//Nach rechts
Shoot.x+=1;
Shoot.y+=0;

//Nach rechts oben
Shoot.x+=0.707; //~wurzel aus 2, oder auch sin (45) //edit: natürlich 1/sqrt(2) bzw. sqrt(2)/2, nicht sqrt(2)
Shoot.y+=0.707;


Vektorrechnung ist für so etwas enorm Hilfreich, aber das kann man nicht in einem Post erklären.
Lieber dumm fragen, als dumm bleiben!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Jonathan_Klein« (15.02.2012, 16:27)


7

15.02.2012, 15:55

Dankesehr :) hmm Wir hatten noch keine Vektoren... eventuell habe ich dazu später eine Frage.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

8

15.02.2012, 16:16

Shoot.x+=0.707; //~wurzel aus 2, oder auch sin (45)

Sry, aber ist das nicht die Hälfte von Wurzel 2?
Das könnte jemanden verwirren wenn er versucht es zu verstehen ^^


Das mit den Vektoren kannst du dir auch selbst beibringen. :thumbsup:
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

9

15.02.2012, 16:27

Sry, aber ist das nicht die Hälfte von Wurzel 2?
Das könnte jemanden verwirren wenn er versucht es zu verstehen ^^

ähhh, natürlich :D Habs mal reineditiert.
Lieber dumm fragen, als dumm bleiben!

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

10

15.02.2012, 16:37

Richtungsvektor von deinem Raumschiff + Vektor normal drauf = Vektor der 45° vom Raumschiff wegzeigt.

Werbeanzeige