![]() |
Frage zu Spielentwicklung in 2D
Moinsen,
ich programmiere zur Zeit ein 2D Browsergame und habe eine kleine Verständnisfrage. In dem Spiel steuert man eine 16x32 Figur,die als zusätzliches Objekt einen Arm besitzt und dieser hat 24 Grafiken in jeweils 24 Winkeln.Arm 1 ist nach rechts und gerade ausgestreckt,Arm 2 nach rechts und 15 Grad nach unten gestreckt,Arm 3 nach rechts und 30 Grad nach unten gestreckt und so weiter.Diese Rotation geht im Uhrzeigersinn mit Abständen von jeweils 15 Grad. In welchem Zustand sich der Arm befindet hängt letzendlich von der X und Y Position der Maus ab.Ich habe das ganze mal für das rechte untere Bewegungsviertel getestet,allerdings ohne Einbezug der X Achse weshalb der Arm sich unnatürlich verhält. [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] Code:
void charakter_arm(){ |
Zitat:
Des Weitern solltest Du Dich mal mit if + else beschäftigen... |
Zitat:
Das ist klar,sonst macht die Struktur auch keinen Sinn,denn schließlich darf nur ein Arm gleichzeitig dargestellt werden.Wenn if(mouseY>draw_pos_y+12)...zutrifft trifft ja auch if(mouseY>draw_pos_y+6)....zu usw.War aber auch erstmal mehr zu Testzwecken.Die Frage ist nun wie beziehe ich die X Achse mit in die Abfrage ein das sich der Arm natürlich verhält? draw_x und draw_y sind in meinem Fall übrigens die Positionen an denen die Figur gezeichnet wird. MfG |
???
Mit einem logischen und. If (dies > das UND jenes = irgendwas) Wie das UND in der Programmiersprache deiner Wahl aussieht kann ich nicht Wissen, da Du diese nicht genannt hast. Aber kann es sein, dass Du versuchst ein Spiel zu programmieren bevor Du Dich mit den einfachen Grundlagen befasst hast? Einfacher wäre es wenn Du den Winkel prüfst... |
du kannst die mausposition auch als vektor betrachten, und dann mit dieser formel hier:
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] den winkel berechnen, in dem eine gedachte linie zwischen deiner figur und dem mauszeiger zur figur steht. |
Zitat:
Danke,das mit der Winkelberechnung war das was ich gesucht hatte :) MfG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.