Point fehler ?
Verfasst: 29.12.2009 00:51
Ich möchte via Point-Funktion die Farbe des unter dem Cursor befindenden Pixels eines Sprites auslesen. (Funktioniert auch soweit)
Sobald ich allerdings an den rechten oder unteren Spriterand komme, stürzt der Compiler immer mit der Fehlermeldung: "Point() is outside of drawing area" ab.
Beispiel:
Spritegröße 50x50 Hier würde der Compiler bei den Koordinaten --x50 oder 50x-- abstürzen.
Was also bedeutet, dass ich die Point-Funktion nur bis zum vorletzten Pixel der X bzw. Y-Achse des Sprites verwenden kann.
Mein Code: Feld_01_X.l und Feld_01_Y.l geben die Spritepositionen an, Feld_01.l ist das Handle des Sprites.
Liegt jetzt der Fehler bei mir, oder ist die Point-Funktion seid der Version 4.40 fehlerhaft?
Vor vers. 4.40 hat alles einwandfrei funktioniert.
Sobald ich allerdings an den rechten oder unteren Spriterand komme, stürzt der Compiler immer mit der Fehlermeldung: "Point() is outside of drawing area" ab.
Beispiel:
Spritegröße 50x50 Hier würde der Compiler bei den Koordinaten --x50 oder 50x-- abstürzen.
Was also bedeutet, dass ich die Point-Funktion nur bis zum vorletzten Pixel der X bzw. Y-Achse des Sprites verwenden kann.
Mein Code: Feld_01_X.l und Feld_01_Y.l geben die Spritepositionen an, Feld_01.l ist das Handle des Sprites.
Code: Alles auswählen
If (MouseX() - Feld_01_X.l) >=0 And (MouseX() - Feld_01_X.l) <= SpriteWidth(Feld_01.l) And (MouseY() - Feld_01_Y.l) >=0 And (MouseY() - Feld_01_Y.l) <= SpriteHeight(Feld_01.l)
StartDrawing(SpriteOutput(Feld_01.l))
Color_01.l = Point(MouseX() - Feld_01_X.l, MouseY() - Feld_01_Y.l)
StopDrawing()
Else
Color_01.l - 1
EndIf
Vor vers. 4.40 hat alles einwandfrei funktioniert.