ExamineMouse fait disparaitre la souris !

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

ExamineMouse fait disparaitre la souris !

Message par SPH »

En prenant un exemple fourni dans PB4, et en essayant simplement de rajouter un ExamineMouse(), ca fait carrement disparaitre le pointeur de la souris !
Pourtant, il y a bien un ecran d'ouvert ! 8O

look:

Code : Tout sélectionner

InitSprite()
InitMouse()
OpenWindow(0, 0, 0, 220, 160, "Un écran dans une fenêtre...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
ButtonGadget(0, 170, 135, 45, 20, "Quitter")
OpenWindowedScreen(WindowID(0), 0, 0, 160, 160, 0, 0, 0)
CreateSprite(0, 20, 20)
StartDrawing(SpriteOutput(0))
Box(0, 0, 20, 20, RGB(255, 0, 155))
Box(5, 5, 10, 10, RGB(155, 0, 255))
StopDrawing()

  
  
  direction = 2
  Repeat

    Repeat
      Event = WindowEvent()
      
      Select Event 
        Case #PB_Event_Gadget
          If EventGadget() = 0
            End
          EndIf
        
        Case #PB_Event_CloseWindow
          End 
      EndSelect
    Until Event = 0
  
  ExamineMouse() ; DISPARITION DU POINTEUR DE LA SOURIS !!!
    
    FlipBuffers() 
    ClearScreen(RGB(0, 0, 0))
    DisplaySprite(0, x, x)
    x + direction
    If x > 140 : direction = -2 : EndIf
    If x < 0   : direction =  2 : EndIf
    Delay(1)
  ForEver
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

bin ouais, j'ai constaté aussi, mais je me souviens plus comment c'était avec la version 3.9 alors... l'age késtuveu....

:?

pat
Anonyme

Message par Anonyme »

Bizarre :?


v'la une soluce :

Code : Tout sélectionner

If ExamineMouse() ; DISPARITION DU POINTEUR DE LA SOURIS !!!
  ReleaseMouse(1)
EndIf



@++
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Merci Bator !

PS: tu devrais faire un ReleaseAvatar(1) :lol:
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Tiens, le 'bug' continue plus en profondeur. Les coordonnées de la souris ne varient pas :

Code : Tout sélectionner

InitSprite() 
InitMouse() 
OpenWindow(0, 0, 0, 220, 160, "Un écran dans une fenêtre...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
OpenWindowedScreen(WindowID(0), 0, 0, 160, 160, 0, 0, 0) 
 
  
 
Repeat

    Event = WaitWindowEvent () 

      Select Event 
      Case #PB_Event_CloseWindow
          End 
      EndSelect


  If ExamineMouse()
  ReleaseMouse(1) 
  Else
  Debug MouseX()
  Debug MouseY()
  EndIf 
  
ForEver
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

si ça ne marchait pas, comment expliques tu que le programme de "dodo" fonctionne ?

http://purebasic.forum-gratuit.com/view ... us+regarde

pat
Anonyme

Message par Anonyme »

Là, ca viens de toi :wink:

Code : Tout sélectionner

InitSprite()
InitMouse()
OpenWindow(0, 0, 0, 220, 160, "Un écran dans une fenêtre...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, 160, 160, 0, 0, 0)
 
 
 ReleaseMouse(1)
Repeat
  
  Event = WaitWindowEvent ()
  
  Select Event
    Case #PB_Event_CloseWindow
      End
  EndSelect
  
  
  ExamineMouse()
    
    Debug WindowMouseX(0)
    Debug WindowMouseY(0)
  
  
ForEver 


@++
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Patrick88 a écrit :si ça ne marchait pas, comment expliques tu que le programme de "dodo" fonctionne ?

http://purebasic.forum-gratuit.com/view ... us+regarde

pat
Car il utilises une API :

Code : Tout sélectionner

  GetCursorPos_(CursorPos.POINT) 
    MouseX = CursorPos\x 
    MouseY = CursorPos\y
@Bator : perfect
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

pourquoi ne pas tout simplement afficher un sprite aux coordonnés du pointeur?
Répondre