mauspositionsabfrage problem

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

da_poller

Betreff: mauspositionsabfrage problem

BeitragMi, Jul 30, 2008 12:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab für nen kleinen editor eine abfrage geschrieben ob die maus auf einer gewissen position ist nur er scheint es nciht richtig zu erkennen

dieser kleine abfrageabschnitt befindet sich mit in den 2 for schleifen der tilemap

Code: [AUSKLAPPEN]

If MSX<x*25
            If MSX>(x*25)+25
               If MSY<Y*25
                  If MSY>(y*25)+25
                     If MouseHit(1) Then
                        map(x,y)=map(x,y)+1
                        If map(x,y)>3 Then map(x,y)=0
                     EndIf
                  EndIf
               EndIf
            EndIf
         EndIf


nun 2 fragen dazu..

sollte ich alles in eine if abfrage packen oder so lassen?
wieso zum geier erkennt der die position nciht richtig... hab shcon einiges probiert...

aMul

Sieger des Minimalist Compo 01/13

BeitragMi, Jul 30, 2008 12:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum er die Position nicht erkennt... keine Ahnung, der gepostete Code sieht gut aus.
Zur anderen Frage: Ich empfehle die vier Koordinaten-Überprüfungen mit And zusammenzufassen.

Oh, und wenn die Schleife nur durchgegangen wird um aufs Klicken zu prüfen, würde ich die Schleife auch nur dann ausführen wenn geklickt wurde.

EDIT:
Hab deinen Fehler gefunden. Du hast < und > vertauscht.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

Xeres

Moderator

BeitragMi, Jul 30, 2008 12:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du Mousehit mehr als ein mal verwenden willst, solltest du den Wert zwischenspeichern, siehe FAQ.
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
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

aMul

Sieger des Minimalist Compo 01/13

BeitragMi, Jul 30, 2008 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Fehler kann hier nicht auftauchen Xeres, da MouseHit() ja nur einmal ausgeführt ist, sobald feststeht über welchem Feld die Maus ist.

EDIT:
Mir fällt gerade auf, dass du viel einfacher herausfinden kannst über welchem Tile die Maus ist, indem du die Mauskoordinate einfach durch die Telibreite/-höhe teilst. Dann kannst du dir die beiden langsamen Schleifen und die ganzen If-Abfragen ganz sparen.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group