problem mit richtungen bildern maus...

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

supermann

Betreff: problem mit richtungen bildern maus...

BeitragSo, Sep 11, 2005 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
hi leute,

ich habe keine Ahnung welche Überschrift ich sonst nehmen sollte,auf alle Fälle habe ich ein rießen Problem!

Ich wollte machen das wenn die maus links neben dem raumschiff ist es nach links zeigt, wenn sie oberhalb ist es nach oben zeigt, ...,... .
das habe ich dann so geschrieben :


BlitzBasic: [AUSKLAPPEN]

;links
If mausx < xraumschiff Then
raumschiff(3,0) = 0
raumschiff(2,0) = 0
raumsciff(1,0) = 1
raumschiff(4,0) = 0
EndIf

;rechts
If mausx > xraumschiff Then
raumschiff(4,0) = 0
raumscxhiff(3,0) = 0
raumschiff(2,0) = 1
raumschiff(1,0) = 0
EndIf


;0ben
If mausy < yraumschiff Then
raumschiff(4,0) = 0
raumschiff(3,0) = 1
raumschiff(2,0) = 0
raumschiff(1,0) = 0
EndIf

;Unten
If mausy > yraumschiff Then
raumschiff(4,0) = 1
raumschiff(3,0) = 0
raumschiff(2,0) = 0
raumschiff(1,0) = 0
EndIf


Das Problem dabei ist das das bei links und rechts nur Funktioniert wenn es genau daneben ist ansonsten ansonsten ist es wieder oben oder unten.
Warum das so ist weis ich auch aber wie kann ich das anders machen?????? [/code]

simi

BeitragSo, Sep 11, 2005 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Am Besten berechnest du den winkel zwischen dem bild und der Maus....

Dann kannst du mithilfe des winkels rausfinden, wo die maus ist.....

https://www.blitzforum.de/view...1456#41456

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Sep 11, 2005 15:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem ist, du überschreibst mit deinen Y-Abfragen die Werte der X-Abfragen wenn die Maus nicht genau auf der Achse des Rausschiffes liegt. Möglichkeiten währen (wie es simi beschrieben hat) es mit einer Winkelabfrage zu machen. Macht die Sache natürlich etwas komplizierter. Aber komfortabler, falls später das Rausschiff auch schräg stehen soll. Ansonsten liegen die 'Kippwinkel' des Raumschiffes ja nicht in vertikaler/horizontaler Achsen, sonder in Diagonalen. So musst du dann auch die Abfragen machen. Indem du die differenz der beiden Positionen (Maus/Schiff) gegeneinander wegrechnest und dann die Abfragen machst. Oder zuerst vergleichst wo die Maus liegt lings/rechts dann oben/unten und dann vergleichst welche vom beiden größer ist...

~On The Fly~ Beispiel: (die Abfrage kann auch anders gemacht werden)Code: [AUSKLAPPEN]
if abs(XMaus-XSchiff)>abs(YMaus-YSchiff) then
  if XMaus>XSchiff then
    RaumSchiffNachRechtsZeichnen
  else
    RaumSchiffNachLinksZeichnen
  end if
else
  if YMaus>YSchiff then
    RaumSchiffNachUntenZeichnen
  else
    RaumSchiffNachObenZeichnen
  end if
end if


Ausserdem hast du ein vertiper in einer deiner Abfragen.

supermann

BeitragSo, Sep 11, 2005 16:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für eure tipps ich glaube ich nehme den von hectic weil der von Simi mir zu kompliziert ist (Ich bin ja noch ein Anfänger).

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group