ExamineMouse() une erreur de debutant
Publié : ven. 06/juil./2007 9:15
Voilà j'ai un problème...
Je ne comprend pas pourquoi dans mon code MouseX() et MouseY() ne sont jamais mis a jour...j'ai bien Examinemouse() dans la boucle...
si quelqu'un voit ou est l'erreur...
Merci d'avance
Je ne comprend pas pourquoi dans mon code MouseX() et MouseY() ne sont jamais mis a jour...j'ai bien Examinemouse() dans la boucle...
si quelqu'un voit ou est l'erreur...
Merci d'avance
Code : Tout sélectionner
Enumeration
#Main
#Prefs
#Layer
EndEnumeration
Enumeration
#Main_ScreenContainer
EndEnumeration
Structure SkinPrefStructure
Width.l
Height.l
EndStructure
Global SkinPref.SkinPrefStructure
SkinPref\Width=800
SkinPref\Height=600
InitSprite()
InitMouse()
OpenWindow(#Main,0,0,800,480,"PureArcade Skin Editor",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget)
CreateGadgetList(WindowID(#Main))
ContainerGadget(#Main_ScreenContainer,20,20,WindowWidth(#Main)-50,WindowHeight(#Main)-50)
OpenWindowedScreen(GadgetID(#Main_ScreenContainer),0,0,SkinPref\Width,SkinPref\Height,0,0,0)
CloseGadgetList()
CreateSprite(2,40,40)
StartDrawing(SpriteOutput(2))
Box(0,0,40,40,0)
StopDrawing()
x=100
y=100
xd=-1
yd=-1
maxx=560
maxy=560
Global inscreen = #False;Pour savoir si on est dans l'ecran ou pas
Repeat
e=WaitWindowEvent()
If inscreen = #True
Debug "mouse in :"+Str(MouseX())+" "+Str(MouseY())
;Si la souris sort de l'ecran
If MouseX()>SkinPref\Width-2 Or MouseY()>SkinPref\Height-2 Or MouseX()<1 Or MouseY()<1
ReleaseMouse(1)
Debug "Passage a mouse out"
inscreen = #False
EndIf
Else
Debug "mouse out"
;Si on redimensionne la fenêtre
If e=#PB_Event_SizeWindow
ResizeGadget(#Main_ScreenContainer,20,20,WindowWidth(#Main)-50,WindowHeight(#Main)-50)
EndIf
;Si la souris rentre dans l'ecran
If WindowMouseX(#Main) < SkinPref\Width+20 And WindowMouseX(#Main) > 20 And WindowMouseY(#Main) > 20 And WindowMouseY(#Main) < SkinPref\Height+20
ReleaseMouse(0)
MouseLocate(WindowMouseX(#Main)-20,WindowMouseY(#Main)-20)
inscreen = #True
Debug"passage mouse in"
EndIf
EndIf
ClearScreen(#White)
StartDrawing(ScreenOutput())
DrawText(20,20,Str(MouseX()))
StopDrawing()
If inscreen = #True
WindowEvent()
ExamineMouse():
Debug"examinemouse()"
DisplaySprite(2,MouseX(),MouseY())
EndIf
FlipBuffers()
Until e=#PB_Event_CloseWindow