Wieder mal Winkelfuktionen
Übersicht

![]() |
Shinkiro1ehemals "Espada"Betreff: Wieder mal Winkelfuktionen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
bevor ihr schreibt: "Benutz die Suchfunktion" => hab ich schon gemacht, verstehs aber trotzdem nicht Ich scheine echt ein bisschen schwer von Begriff mit Winkelfunktionen zu sein, hier mein Problem. ![]() Der rote kreis stellt den spieler dar, das blaue kreuz den mouse-cursor. Nun will ich den Winkel bekommen egal wo sich der mouse-cursor befindet, das ganze natürlich von spielerposition aus. Zumindest Codeansätze wären nett, weil erklärungen hab ich mir schon genügend ohne erfolg durchgelesen. mdg Espada |
||
Blog :: Ein RPG in 3 Monaten erstellen
Twitter :: News zum Projekt |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Angle# = ATan2( MouseY() - SpielerY#, MouseX() - SpielerX# )
|
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mal ein Beispiel für Sin/Cos geschrieben, hilft dir das?
Code: [AUSKLAPPEN] AppTitle("Sinus & Kosinus")
Graphics(800, 600, 0, 2) SetBuffer BackBuffer() Local timer = CreateTimer(60) Const KEY_Escape = 1, KEY_UP = 200, KEY_DOWN = 208 Const KEY_LEFT = 203, KEY_RIGHT = 205 Local radius = 150, winkel = 45, x, y Repeat If KeyDown(KEY_UP) Then radius = ((radius + 1)+300) Mod 300 If KeyDown(KEY_DOWN) Then radius = ((radius -1)+300) Mod 300 If KeyDown(KEY_LEFT) Then winkel = ((winkel + 1)+360) Mod 360 If KeyDown(KEY_RIGHT) Then winkel = ((winkel - 1)+360) Mod 360 x = 400 + Cos(winkel) * radius y = 300 - Sin(winkel) * radius ;** Der Radius: Color(255, 0, 0) Line(400, 300, x, y) Text(400 + Cos(winkel) * radius/2, 300 - Sin(winkel) * radius/2, "Atan2: "+ATan2(y-300,x-400)) ;** Die 0° Linie: Color(0, 0, 255) Line(400, 300, 400 + Cos(0) * radius, 300) Text(400 + Cos(0) * radius, 300, " 0°", False, True) ;*** Sinus: Color(255, 255, 0) Line(400, 300, 400, 300 - Sin(winkel) * radius) Line(x, y, 400, 300 - Sin(winkel) * radius) ;Zum Trabant Text(380, 300 - Sin(winkel) * radius/2, "Sin", True, True) ;*** Kosinus: Color(0, 255, 0) Line(400, 300, 400 + Cos(winkel) * radius, 300) Line(x, y, 400 + Cos(winkel) * radius, 300) ;Zum Trabant Text(400 + Cos(winkel) * radius/2, 300, "Cos") Color(255, 255, 255) ;** Die Mitte... DrawKreis(400, 300, 10) ;** Die Umlaufbahn... DrawKreis(400, 300, radius, False) ;** Der Trabant... DrawKreis(x, y, 5) Text(10, 10, "Winkel: "+winkel+"°") Text(10, 25, "Sinus: "+Sin(winkel)) Text(10, 40, "Kosinus: "+Cos(winkel)) Flip(0) WaitTimer(timer) Cls Until KeyHit(KEY_Escape) End Function DrawKreis(fx, fy, fr, solid=1) Oval(fx-fr, fy-fr, fr*2, fr*2, solid) End Function |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Kruemelator |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Welcher Winkel den? Ich sehe in deinem Bild mehrere Winkel.
Gruß Kruemelator |
||
![]() |
Shinkiro1ehemals "Espada" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wow, Nobodys Code hat funktioniert ...
@Xeres: Das ist denke ich ein super Beispiel, danke dir, werde mir das mal anschauen. @Kruemelator: Naja, mit den lilanen dreieck wollte ich zeigen, dass ich zwar einen ansatz hätte, wie man den winkel berechnet, aber es nicht umsetzten kan -.- Thanks @ all |
||
Blog :: Ein RPG in 3 Monaten erstellen
Twitter :: News zum Projekt |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group