Probleme mit Richtungsfunktion
Übersicht

md0123Betreff: Probleme mit Richtungsfunktion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
While Not KeyHit(1)
Cls If MouseDown(1) Then Object_Richtung(400,300,MouseX(),MouseY()) EndIf Locate 10,10 Print zx+":"+zy Locate 10,30 Print Zielrichtung$ Locate 10,60 Print m# Flip Wend Function Object_Richtung(ox,oy,zx,zy) ux=zx-ox+15 uy=zy-oy+40 If ux<>0 Then m#=Float(uy/ux) ElseIf uy > 0 m#=4 ElseIf uy<0 m#= -4 EndIf If ux >= 0 Then If m# > 3.7 Then Zielrichtung$ = "S" ElseIf m# > 1 Zielrichtung$ = "S_SO" ElseIf m# > 0.26 Zielrichtung$ = "O_SO" ElseIf m# > -0.26 Zielrichtung$="O" ElseIf m# > -1 Zielrichtung$ = "O_NO" ElseIf m# > -3.7 Zielrichtung$ = "N_NO" ElseIf m# < -3.7 Zielrichtung$ = "N" Else If m# > 3.0 Then Zielrichtung$ = "N" ElseIf m# > 1 Zielrichtung$ = "N_NW" ElseIf m# > 0.26 Zielrichtung$ = "W_NW" ElseIf m# > -0.26 Zielrichtung$ = "W" ElseIf m# > -1 Zielrichtung$ = "W_SW" ElseIf m# > -3.7 Zielrichtung$ ="S_SW" EndIf EndIf EndIf End Function Die Funktion funktioniert nur zum Teil. Wenn ich mit der Maus klicke wird nur N,N_NO,O_SO und S ausgewertet, klicke ich mit der Maus gen Westen liefert sie keine Informationen Zielrichtung$ ist bei mir auf Global gesetzt[ |
||
![]() |
Ralf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
was ist denn das für ein Kauderwelsch? Wenn Du hier Hilfe erwartest, solltest Du es den Leuten nicht unnötig schwer machen. Rücke die Zeilen ein und benutze die Code-Funtion hier im Forum. Dadurch könnte der Code event. lesbar werden. Bis dahin beschäftige ich mich lieber mit japanischen Kochbüchern, die kann ich bestimmt besser lesen. ![]() Ralf |
||
![]() |
Rob_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi md0123!
Ich hab mir mal dein kauderwelschisch mal angeguckt und mal ausprobiert. Mir ist nicht ganz klar was du machn willst? Ich sehe zwei 0,0 0,0 auf dem bildschirm. Und nichts passiert. Vielleicht solltest du es wie es Ralf schon gesagt hat es ein ordnen und in den code function schrieben, und im Beginnerscorner anfragen und dir tut ansehen. Mfg Rob_ |
||
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX |
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Rein von der Überschrift her, würde ich sagen, du möchtest wissen, wie man eine Figur in verschiedene Richtungen Laufen lassen kann, oder ähnliches.
Also wenn du dich mit Sin() und Cos() noch nicht so gut auskennst, kannst du einfach die Richtung in einer Variable speichern, ich glaube, du wolltest: N NO O SO S SW W und NW Dann würde ich das folgendermaßen festlegen: N = 0 NO = 1 O = 2 SO = 3 S = 4 SW = 5 W = 6 NW = 7 Und dann in einer Select-Operation das ganze abfragen: wenn die Variable 0 ist werden die Befehle Für "nach Norden latschen" erfüllt, bei 1 "nach Nord-Osten latschen" usw. |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Also ich würde Dir ja eher empfehlen, dass Du Dich mit den Sin() und Cos()-Befehlen vertraut machst und Dir dieses umständliche BlaBlup sparst. ![]() ![]() Weil im Prinzip ist das ganz einfach:
"Tempo" ein beliebiger Wert für die Geschwindigkeit "x" und "y" sind die Koordinaten (klar) Dann ist: "neu x" = "alt x" + "tempo" * cos("richtung") "neu y" = "alt y" + "tempo" * sin("richtung") Und Du sparst Dir den ganzen Kauderwelsch...... Winkelrichtung: (aus dem Kopf / hoffentlich richtig! ![]()
rechts/oben = 45 oben = 90 links/oben = 135 links = 180 links/unten = 225 unten = 270 rechts/unten = 315 Ava |
||
md0123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke werts ausprobieren. Habe die Funktion aus nem C Buch eines ehm bekannten Autors, bei mir funktioniert sie, nur das der untere Else-Zweig nicht angesprochen wird und somit angaben über westliche Richtungen nicht dargestellt werden, nach Norden hin funktioniert alles | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group