Wenn ich Grabsprite benutze, ?ndert sich die Grafik (GENSPRITE) des Mauspointers.
(linke Maustaste dr?cken um Grabsprite zu benutzen)
// declare gImgTest as GENSPRITE
gImgTest = GENSPRITE()
// draw mouse-cursor GFX
DRAWRECT 0, 0, 16, 16, RGB(255,255,255)
// grab mouse-cursor GFX and store it in gImgTest
GRABSPRITE gImgTest, 0, 0, 16, 16
// mouse state variables
GLOBAL mx, my, mb1, mb2
WHILE TRUE
// read mouse state
MOUSESTATE mx, my, mb1, mb2
// draw mouse cursor at mouse x/y coordinates
DRAWSPRITE gImgTest, mx, my
// when left mouse button is pressed, grab screen GFX
IF mb1; GRABSPRITE 0, 0, 0, 640, 480; ENDIF
SHOWSCREEN
WEND
?hem, wenn du das so benutzt liefert GENSPRITE beim ersten Aufruf 0 als freies Grafikhandle, folglich ?berschreibst du die Grafik f?r den Mauszeiger mit deinem zweiten GRABSPRITE.
Wenn du beim Klick auf die linke Maustaste wiederum GENSPRITE nutzt, klappt es.
// declare gImgTest as GENSPRITE
gImgTest = GENSPRITE()
// draw mouse-cursor GFX
DRAWRECT 0, 0, 16, 16, RGB(255,255,255)
// grab mouse-cursor GFX and store it in gImgTest
GRABSPRITE gImgTest, 0, 0, 16, 16
// mouse state variables
GLOBAL mx, my, mb1, mb2
WHILE TRUE
// read mouse state
MOUSESTATE mx, my, mb1, mb2
// draw mouse cursor at mouse x/y coordinates
DRAWSPRITE gImgTest, mx, my
// when left mouse button is pressed, grab screen GFX
IF mb1
gImgTest2 = GENSPRITE()
GRABSPRITE gImgTest2, 0, 0, 640, 480
ENDIF
SHOWSCREEN
WEND
Dann hab ich das Konzept v?llig missverstanden. Ich dachte Gensprite benutzt seperate Indizes.
N?, das liefert dir einen freien Slot in den zur Verf?gung stehenden.