un tetris
-
- Messages : 579
- Inscription : ven. 11/mai/2007 15:21
Re: un tetris
Je dirais que oui, si tu as mis le flag "#PB_Screen_SmartSynchronization" dans l'OpenScreen=> c'est son rôle, normalement.
Les idées sont le souvenir de choses qui ne se sont pas encore produites.
Re: un tetris
le PB_Screen_SmartSynchronization est dans le openwindows ! C'est grave ?kelebrindae a écrit :Je dirais que oui, si tu as mis le flag "#PB_Screen_SmartSynchronization" dans l'OpenScreen=> c'est son rôle, normalement.
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: un tetris
Jourbon,
comment coller le openscreen a l'openwindows ?
comment coller le openscreen a l'openwindows ?
Code : Tout sélectionner
If InitSprite() And InitMouse() And InitKeyboard() ;And InitSound()
Else
End
EndIf
If OpenWindow(0, 400, 40, 400, 600, "Tetris", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Screen_SmartSynchronization)
;- Main loop
Repeat
Delay(1)
Repeat
; Traite TOUS les événements Windows, afin d'éviter qu'ils s'accumulent dans la file d'attente.
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
Quit = #True
EndSelect
Until Event = 0
;- Keyboard
If ExamineKeyboard()
; ...Gestion du clavier...
EndIf
;- Mouse
If ExamineMouse()
; ...Gestion de la souris si tu l'utilises (pas forcément nécessaire, dans un Tetris)...
EndIf
;- Logique du jeu
;- Gestion des graphismes (DisplaySprites ou autre)
;- Flipbuffers pour affichage et fin de la boucle
FlipBuffers()
Until Quit = #True
EndIf
End ; All the opened windows are closed automatically by PureBasic
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Re: un tetris
Comme ça :
Et après vérification, le Delay(1) ne sert à rien, que ce soit avec #PB_Screen_WaitSynchronization ou #PB_Screen_SmartSynchronization . Par contre le debugger fait exploser le processueur
Code : Tout sélectionner
If InitSprite() And InitMouse() And InitKeyboard() ; And InitSound()
Else
End
EndIf
If OpenWindow(0, 400, 40, 400, 600, "Tetris", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
OpenWindowedScreen(WindowID(0), 0, 0, 100, 100, 1, 0, 0, #PB_Screen_WaitSynchronization)
;- Main loop
Repeat
Repeat
; Traite TOUS les événements Windows, afin d'éviter qu'ils s'accumulent dans la file d'attente.
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
Quit = #True
EndSelect
Until Event = 0
;- Keyboard
If ExamineKeyboard()
; ...Gestion du clavier...
EndIf
;- Mouse
If ExamineMouse()
; ...Gestion de la souris si tu l'utilises (pas forcément nécessaire, dans un Tetris)...
EndIf
;- Logique du jeu
;- Gestion des graphismes (DisplaySprites ou autre)
;- Flipbuffers pour affichage et fin de la boucle
FlipBuffers()
Until Quit = #True
EndIf
End ; All the opened windows are closed automatically by PureBasic
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Re: un tetris
Est ce normal que la souris ait disparu ??
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: un tetris
Non, car si il rend la main, il peut louper le flip et pour un jeu utiliser tout CPU dispo est souvent le cas.
Re: un tetris
@Fred : je pense que tu réponds à LSI, car sinon ça n'a pas trop de sens 
@SPH : Oui c'est normal, car lorsque tu utilises la commande ExamineMouse(), la souris est 'capturée' par l'écran graphique
Pour éviter ce problème, et si tu as besoin de la souris ailleurs, tu peux utiliser la façon classique de récupérer les positions souris sur une fenêtre : WindowMouseX() etc..
Mais par contre pour les boutons ce sera moins pratique qu'avec les commandes de la bibliothèque Mouse de Pb
Tu peux aussi ajouter une bout de code qui relâche la souris lorsqu'elle s’approche d'un bord de la fenêtre, avec la commande : ReleaseMouse()
@LSI : Je ne sais pas chez toi, mais moi je n'ai pas d'augmentation de processeur conséquente pour le code que tu as fournis (avec ou sans delay et débugger),
par contre j'ai fermé le navigateur internet pour ne pas fausser les résultats ^^

@SPH : Oui c'est normal, car lorsque tu utilises la commande ExamineMouse(), la souris est 'capturée' par l'écran graphique
Pour éviter ce problème, et si tu as besoin de la souris ailleurs, tu peux utiliser la façon classique de récupérer les positions souris sur une fenêtre : WindowMouseX() etc..
Mais par contre pour les boutons ce sera moins pratique qu'avec les commandes de la bibliothèque Mouse de Pb
Tu peux aussi ajouter une bout de code qui relâche la souris lorsqu'elle s’approche d'un bord de la fenêtre, avec la commande : ReleaseMouse()
@LSI : Je ne sais pas chez toi, mais moi je n'ai pas d'augmentation de processeur conséquente pour le code que tu as fournis (avec ou sans delay et débugger),
par contre j'ai fermé le navigateur internet pour ne pas fausser les résultats ^^
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel
)
Mon site : CeriseCode (Attention Chantier perpétuel
