Page 1 sur 2

[OK] Lag de sprite curseur lors de mouvement souris

Publié : dim. 13/juil./2014 12:30
par Ar-S
En reprenant l'exemple de la doc et en ajoutant un sprite faisant office de curseur, on peut voir que ça lag drue lors du déplacement de la souris.
Idem en en openwindowscreen
Avez vous une solution ?

Code : Tout sélectionner

;
; ------------------------------------------------------------
;
;   PureBasic - Sprite example file
;
;    (c) 2013 - Fantaisie Software
;
; ------------------------------------------------------------
;

If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
  MessageRequester("Error", "Sprite system can't be initialized", 0)
  End
EndIf

;
; Now, open a 800*600 - 32 bits screen
;
If OpenScreen(800, 600, 32, "Sprite")

  ; Load our 16 bit sprite (which is a 24 bit picture in fact, as BMP doesn't support 16 bit format)
  ; 
  ; Votre chemin vers data
  LoadSprite(0, "I:/PROG/Purebasic_5.21_LTS/Examples/Sources/Data/PureBasic.bmp", 0)
  
  CopySprite(0,1,0)
  ; CURSEUR
  CopySprite(0,2,0)
  ClipSprite(2, 0, 0, 50, 50)
  
  
  Repeat
    
    ; Inverse the buffers (the back become the front (visible)... And we can do the rendering on the back)
    ExamineMouse()
    FlipBuffers()
    
    ClearScreen(RGB(0,0,0))
    
    ; Draw our sprite

    ClipSprite(0, 0, 0, x, x/8)
     
    DisplaySprite(0, x, 100)
    DisplaySprite(1, x, x)
    DisplaySprite(0, 600-x, x)
    
    ; CURSEUR
    DisplaySprite(2,MouseX(), MouseY())
    
    x+1
    
    ExamineKeyboard()
  Until KeyboardPushed(#PB_Key_Escape)
  
Else
  MessageRequester("Error", "Can't open a 800*600 - 32 bit screen !", 0)
EndIf

End  

Re: Lag de sprite curseur lors de mouvement souris

Publié : dim. 13/juil./2014 13:13
par SPH
Aucun lag ici meme en bougeant la souris dans tous les sens :idea:

(win7 sur ordi portable pas rapide)

Re: Lag de sprite curseur lors de mouvement souris

Publié : dim. 13/juil./2014 14:46
par venom
Idem que SPH sous PB 5.30





@++

Re: Lag de sprite curseur lors de mouvement souris

Publié : dim. 13/juil./2014 14:55
par Ar-S
En 5.22 LTS j'ai pas précisé

Re: Lag de sprite curseur lors de mouvement souris

Publié : dim. 13/juil./2014 14:57
par SPH
Ar-S a écrit :En 5.22 LTS j'ai pas précisé
Je ne repasse pas sous 5.30, desolé :P

Re: Lag de sprite curseur lors de mouvement souris

Publié : dim. 13/juil./2014 15:04
par Ar-S
SPH a écrit :
Ar-S a écrit :En 5.22 LTS j'ai pas précisé
Je ne repasse pas sous 5.30, desolé :P
Bah le purepunch est limité à la 5.22...

Re: Lag de sprite curseur lors de mouvement souris

Publié : dim. 13/juil./2014 15:14
par SPH
Ar-S a écrit :
SPH a écrit :
Ar-S a écrit :En 5.22 LTS j'ai pas précisé
Je ne repasse pas sous 5.30, desolé :P
Bah le purepunch est limité à la 5.22...
KOI KOI KOIII ???
Oula, heureusement que tu me le dis, ca m'avais completement echappé...
Pas grave car mon code est compatible je pense.

Bon OKKKK, je vais installer la 5.22 pour te faire plaisir et essayer ton code... ZzZZzz 8)

Re: Lag de sprite curseur lors de mouvement souris

Publié : dim. 13/juil./2014 15:26
par SPH
C'est egalement fluide en 5.22lts 8)

Re: Lag de sprite curseur lors de mouvement souris

Publié : dim. 13/juil./2014 15:35
par SPH
A propos de la regle du jeu du purepunch :
1° Le programme sera fait en Purebasic version 5.22 minimum,...
Donc, en 5.30, c'est autorisé :idea:

Re: Lag de sprite curseur lors de mouvement souris

Publié : dim. 13/juil./2014 17:29
par Backup
@Ar-s : c'est pas le bug de la souris par hasard ??


met ta gestion en Thread

Code : Tout sélectionner

 ;Gestion souris roccat, razer ...
      Define testscreenactive.i=#True
      CreateThread(@mousethread(),#True)


Procedure mousethread(flag.i) ; souris roccat, razer .....

   Static quit.i
   If flag
      Repeat
         If ExamineMouse()
            mousex=MouseX()
            mousey=MouseY()
         EndIf
         Delay(1)
      Until quit
      quit=#False
   Else
      If Not flag
         quit=#True
         While quit
            Delay(1)
         Wend
      EndIf
   EndIf
EndProcedure

Re: Lag de sprite curseur lors de mouvement souris

Publié : dim. 13/juil./2014 19:57
par Ar-S
Ah mais si ! Merci Dobro, je savais qu'on avait croisé un soucis du genre mais je ne me souvenais plus que c'était lié aux bugs souris de certaines marques (Saïtek Cyborg RAT5 pour moi) ! Je désespérais de trouver car mon code semblait ok de ce coté.
En thread c'est nikel. :mrgreen:

@SPH ! J'avais mal lu merci pour la précision concernant la version de PB pour le purepunch

Re: Lag de sprite curseur lors de mouvement souris

Publié : lun. 14/juil./2014 13:30
par Lemaquis
Ar-S a écrit :En 5.22 LTS j'ai pas précisé
pourquoi dans ton chemin du fichier Bmp il ya écrit 5.21_LTS

Code : Tout sélectionner

LoadSprite(0, "I:/PROG/Purebasic_5.21_LTS/Examples/Sources/Data/PureBasic.bmp", 0)

Re: Lag de sprite curseur lors de mouvement souris

Publié : lun. 14/juil./2014 23:43
par Ar-S
@Lemaquis
Parce que j'ecrase mon ancien dossier pour les 5.2.x
j'en avait marre de changer mes raccourcis depuis la 3.94... surtout qu'avant j'utilisais JaPBe (que j'ai zappé avec les version 5.xx de Pb), il fallait le bouger de place à chaque nouvelle installation de PB... Bref.. J'ai un dossier 4.x, un dossier 5.21 LTS que je ne changerai pas et surement un futur 5.30 qui devrait pas tarder à voir sa mouture finale arriver. Et je parle pas des versions x64.. Pour le moment je ne les ai pas réinstallé depuis la 5.10

Re: [OK] Lag de sprite curseur lors de mouvement souris

Publié : mar. 15/juil./2014 7:50
par Micoute
Bonjour Ar-s,

je m’immisce dans ton post, juste pour dire que c'est pas idiot ton système de répertoire, car c'est quand même une corvée à chaque fois qu'on change de version et en plus, c'est plus facile pour savoir avec quelle version fonctionne tel programme !

Merci pour la leçon !

Re: [OK] Lag de sprite curseur lors de mouvement souris

Publié : mar. 15/juil./2014 9:25
par falsam
J'ai un dossier d'installation pour chaque version majeur (5.11, 5.22 & 5.30).

Depuis l'éditeur officiel de Pure Basic de ma version 5.30 je peux compiler en version 5.30 mais aussi en 5.11 ou 5.22.

Quand j'ouvre mon code par la suite, l'éditeur sait quel compilateur choisir.

J'ai fait un tuto à voir sur ce lien :
:arrow: Plusieurs compilateurs dans votre IDE