Comment afficher...
Publié : ven. 28/janv./2005 1:36
Hello ,
Sous XP, c'est la première fois que je touche à cette basic pureté
Ne soyez pas trop sévères
Comment afficher les écrans successifs après chaque calcul ?
J'ai bien vu qu'il faut utiliser OpenScreen(640,480,32,t$), FlipBuffers() ...enfin peut-être
Mais la syntaxe reste rétive
(j'ai bien vu les ";" dans le prog ils sont en attente pour les fonctions considérées 
Le petit prog suivant montre le petit "hic"
(quelle est la meilleure façon d'envoyer un programme "source" sur le forum ? (copier/coller, Zip, format pb, quote...
car là j'ai perdu toute ma velle indentation
Merci d'avance des corrections, conseils et directives
Sous XP, c'est la première fois que je touche à cette basic pureté

Ne soyez pas trop sévères

Comment afficher les écrans successifs après chaque calcul ?
J'ai bien vu qu'il faut utiliser OpenScreen(640,480,32,t$), FlipBuffers() ...enfin peut-être

Mais la syntaxe reste rétive


Le petit prog suivant montre le petit "hic"

(quelle est la meilleure façon d'envoyer un programme "source" sur le forum ? (copier/coller, Zip, format pb, quote...
car là j'ai perdu toute ma velle indentation

Merci d'avance des corrections, conseils et directives

Code : Tout sélectionner
; Demo Pure basic
Dim ecran(639,479)
For x = 0 To 639 ; un écran de couleurs aléatoires
For y = 0 To 479
r=Random(255)
g=Random(255)
b=Random(255)
c=RGB(r,g,b)
ecran(x,y)= c
Next y
Next x
If OpenWindow(0, 400,400, 640, 480, #PB_Window_SystemMenu, "2D Drawing Test")
Repeat
Repeat
EventID.l = WaitWindowEvent()
Until EventID <> 0
If EventID = #PB_EventRepaint ; If the user has resized the window or anything, we will repaint our graphic
Gosub SomeGraphics
EndIf
Until EventID = #PB_EventCloseWindow ; If the user has pressed on the close button
EndIf
End ; All the opened windows are closed automatically by PureBasic
SomeGraphics:
StartDrawing(WindowOutput())
;OpenScreen(640,480,32,t$)
;FlipBuffers()
For z= 1 To 200 ;on fait 100 fois
For x = 1 To 638
For y = 1 To 478 ;genre de moyenne de couleur autour du pixel considéré
c=ecran(x-1,y) + ecran(x+1,y) + ecran(x,y-1) + ecran(x,y+1)
c=c/5
If c<1
c = RGB(255,255,255) ; on tempère les petits chiffres
EndIf
ecran(x,y)=c
Plot(x,y,c) ; on affiche les pixels avec la nouvelle couleur
Next y
Next x
;FlipBuffers()
Next z
StopDrawing() ; This is absolutely needed when the drawing operations are finished !!! Never forget it !
Return