@venom
Quand tu es en mode écran (OpenScreen), sers-toi des sprites plutôt que des ImageGadget qui sont plus réservés au mode fenêtre (OpenWindow).
D'ailleurs je ne savais pas qu'on pouvait afficher un ImageGadget dans un Screen!
J'ai dessiné un curseur bidon tu verras mais tu peux le remplacer par un curseur que tu as déjà...
Ceci répond à ta question?
Code : Tout sélectionner
InitMouse()
InitSprite()
InitKeyboard()
If OpenScreen(800, 600, 32, "test grille")
;Grille de fond
If CreateSprite(0, 800, 800) ;je crée un sprite 0
If StartDrawing(SpriteOutput(0)) ;je demande à dessiner dessus
For a = 0 To 800 Step 10 ;ta grille...
Line(a, 0 , 0, 800, RGB(0,0,255)) ;...
Line(0, a, 800, 0, RGB(0,0,255)) ;...
Next ;...
StopDrawing() ;j'arrète de dessiner sur le sprite 0
EndIf
EndIf
;Curseur
If CreateSprite(1,10,10,#PB_Sprite_Texture) ;je crée un sprite 1
If StartDrawing(SpriteOutput(1)) ;je demande à dessiner dessus
Box(0,0,SpriteWidth(1),SpriteHeight(1),RGB(255,0,255)) ;je dessine un rectangle de coul rose aux dimensions du sprite
Line(0,0,SpriteWidth(1),0,RGB(255,255,255)) ;je dessine des lignes...
Line(0,0,0,SpriteHeight(1),RGB(255,255,255)) ;...qui forment...
LineXY(SpriteWidth(1),0,0,SpriteHeight(1),RGB(255,255,255)) ;...le 'curseur'
StopDrawing() ;j'arrète de dessiner sur le sprite 1
TransparentSpriteColor(1,RGB(255,0,255)) ;je définis la couleur de transparence du sprite 1 (le rose du dessus)
EndIf
EndIf
Repeat
FlipBuffers() ;synchronise l'écran
ClearScreen(RGB(0,0,0)) ;efface l'écran pour de nouveau dessiner dessus
ExamineMouse()
DisplaySprite(0,0,0) ;je dessine le sprite 0 (non transparent)
DisplayTransparentSprite(1,MouseX(),MouseY()) ;je dessine le sprite transparent 1 (le rose de ce sprite ne sera pas affiché)
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
EndIf