Kleine Aufgabe für alle :)
-
Hi, arbeitete grade an einem Spiel im 3D Gamestudio. Ich will ein Objekt mit Hilfe der Pfeiltasten bewegen. Das Objekt sollte sich, wenn man rechts drückt nach rechts auf einer Kreisbahn drehen (das gleiche mit links). Um das Objekt zu bewegen verwende ich "player_speed.x" und player_speed.y".
Ein Beispiel:player_speed.x = 5; player_speed.y = 0; Das Objekt bewegt sich in Richtung x mit der Geschwindigkeit 5(dass muss wegen der Physik so gemacht werden...). Ich kann diese zwei Werte auch negativ setzen um jeden Punkt zu erreichen. Wie würde der Code aussehen der das Objekt auf einer Kreisbahn, sagen wir nach rechts, bewegen lässt ? Ich vermute das könnte man in einer Schleife machen oder ? Die Sprache die ich im Gamestudio verwende ist mehr oder weniger C. Ich bedanke mich schon mal auf eine hoffentlich simple Lösung

-
Nimm nächstes Mal bitte einen richtigen Threadtitel.
Was dein Problem betrifft, das lässt sich mit einfacher Trigonometrie lösen.
-
Ich wäre für ein konkretes Code-Beispielt sehr dankbar. Dieses Thema haben wir in Mathe noch nicht angeschnitten

Der Titel ist doch schön kreativ
Aber ok, ich werde zukünftig einen beschreibenderen Titel wählen 
-
Das lässt sich nicht so schnell, schnell erklären. Aber bemüh dich wenigstens selber. Auf Wikipedia zum Beispiel gibt es eine ziemlich gute Einführung. Allerdings weiss ich nicht, wie leicht dir das fallen wird, wenn du das noch nie gehört hast. Eventuell solltest du aber auch mit dem Spieleprogrammieren ein wenig warten, denn solche Dinge sind schon sehr essentiell.
Und mit C++ hat das definitiv nichts zu tun, auch wenn die Sprache, die du im Gamestudio verwendest, mehr oder weniger C ist.
-
Du solltest Dir Trigonometrie und Polarkordinaten anschauen.
http://www.mathe-online.at/nml/materialien/SkriptumBlaha/KAP-06.pdfDieses Thema haben wir in Mathe noch nicht angeschnitten
Dann solltest Du warten, bis ihr in der Schule "Spieleprogrammierung" behandelt.

-
Erhard Henkes schrieb:
Dieses Thema haben wir in Mathe noch nicht angeschnitten
Dann solltest Du warten, bis ihr in der Schule "Spieleprogrammierung" behandelt.

Das sollte eher ein Anspielung darauf sein, dass ich eher auf ein Beispiel aus bin und nicht auf zusätzliche Links die das Thema behandeln. Denn wenn ich mir jedes Thema so erarbeiten müsste, dass mir beim Spiele entwickeln unter kommt, wirds in diesem Leben nicht mehr fertig

-
naja is aber auch etwas doof gemacht in der schule
in der elften klasse komt so ein analysis teil üebr funktionen und sowas
und erst in der 12 und 13 kommt zum beispiel der ganze vektor kramsund in der 11. klasse hat man noch schön viel zeit um sich mit dem thema programmierung auseinadner zusetzen und hätte auch die lsut ein 3D spiel zu coden
tja nur die mathematische grundlage fehlt...das is echt schade
-
Skym0sh0 schrieb:
und in der 11. klasse hat man noch schön viel zeit um sich mit dem thema programmierung auseinadner zusetzen und hätte auch die lsut ein 3D spiel zu coden
tja nur die mathematische grundlage fehlt...das is echt schade
Vielleicht liegts ja auch daran, dass nicht die Mehrheit der Schüler ehrgeizige Spieleprogrammierer sind...

Es ist sowieso nicht unbedingt ratsam, wenn man allzu früh beginnt, Spiele (oder überhaupt) zu programmieren. Die Gefahr, dass man sich überschätzt, ist gross. Man erwartet viel und ist auch entsprechend schnell demotiviert. Zudem hat man einige Jahre später nicht nur bessere Mathematikkenntnisse. Man macht generell Fortschritte in logischem Denken und Vorstellungsvermögen, was einem gerade in der Programmierung sehr helfen kann.
-
Ich habs gewusst, das mit der Spieleprogrammierung hätte ich nicht schreiben dürfen
Da denkt sich der erfahrene Programmierer gleich "ach schon wieder so ein armer Irrer der ein neuen Next-Gen Shooter machen will". Aber das steht hier nicht zur Debatte (ist aber ein schönes Thema
). Ich will doch nur dass mein Objekt Kreise macht, ohne dass ich mich gleich in mathematische Regionen vordringen muss, die ich erst später lerne 
-
Nexus schrieb:
Skym0sh0 schrieb:
und in der 11. klasse hat man noch schön viel zeit um sich mit dem thema programmierung auseinadner zusetzen und hätte auch die lsut ein 3D spiel zu coden
tja nur die mathematische grundlage fehlt...das is echt schade
Vielleicht liegts ja auch daran, dass nicht die Mehrheit der Schüler ehrgeizige Spieleprogrammierer sind...

Es ist sowieso nicht unbedingt ratsam, wenn man allzu früh beginnt, Spiele (oder überhaupt) zu programmieren. Die Gefahr, dass man sich überschätzt, ist gross. Man erwartet viel und ist auch entsprechend schnell demotiviert. Zudem hat man einige Jahre später nicht nur bessere Mathematikkenntnisse. Man macht generell Fortschritte in logischem Denken und Vorstellungsvermögen, was einem gerade in der Programmierung sehr helfen kann.
Also mit einer Engine, braucht man nicht unbedingt soo viel Mathe Kenntnisse. Vektoren und dann hörts bereits langsam auf. Allerdings braucht es sonst doch auch noch viel Kenntnisse, die man sich doch auch aneignen sollte.

-
DerFragende schrieb:
"ach schon wieder so ein armer Irrer der ein neuen Next-Gen Shooter machen will"
Das hab ich mir keine Sekunde gedacht, ich halte dich auch nicht für so einen. Ich finde es gut, wenn man ehrgeizig ein Projekt vor Augen hat und das realisieren will.
Es ist auch nicht böse gemeint, aber ich kann mir denken, dass noch einige ähnliche Problemen auf dich zu kommen werden. Wenn du bereit bist, dich auch selbstständig dafür zu informieren, ist ja alles okay.
Konkret dein Problem betreffend heisst das, dass es dir selber rein gar nichts bringt, wenn wir hier den Code für dich schreiben. Wie gesagt ist Trigonometrie zum Verständnis erforderlich.
DerFragende schrieb:
Ich will doch nur dass mein Objekt Kreise macht, ohne dass ich mich gleich in mathematische Regionen vordringen muss, die ich erst später lerne

Das kann ich durchaus nachvollziehen. Was aber, wenn du plötzlich einen engeren Kreis machen willst? Dann stehst du wieder vor dem gleichen Problem. Ausserdem solltest du dir unbedingt Folgendes merken: Es ist immer ein Anzeichen von schlechter Programmierung, wenn man Code schreibt, den man nicht versteht.
Und so schwierig ist Trigonometrie auch wieder nicht; im Gegenzug wird es dir bei sehr vielen Dingen nützlich sein. Beispielsweise wenn ein Objekt in die Richtung eines anderen schauen soll, kommst du wieder nicht darum herum. Kurz: Es lohnt sich. Wieso schaust du nicht einfach den Wikipedia-Artikel einmal an? In der Zeit, in der du hier diskutierst, hättest du bestimmt schon etwas gelernt. Und falls du etwas nicht verstehst, kannst du ja auch wieder fragen.Abgesehen davon können wir konkreten Code rein technisch gar nicht schreiben, da wir ja nicht wissen, wie das bei dir einzusetzen wäre. Und da es sich um eine C-ähnliche Sprache handelt und die meisten hier in C++ programmieren, erst recht nicht.
-
Danke für dein erneutes Nachhacken Nexus. Brauche die Trigonometrie wohl öfters als gedacht
Werde mir das Kapitel dann genauer unter die Lupe nehmen. Ich mag es auch nicht etwas im Code zu verwenden, dass ich nicht verstehe. Ich gehe oft so vor, dass ich versuche den Code auch wenn ich ihn nicht ganz verstehe, im restlichen einzubauen. Dann ändere ich ihn ab und sehe was passiert, also try and error.