Publié : jeu. 04/oct./2007 16:24
100% de temps cpu pour vos deux progs chez moi et aucun n'est suffisament léger pour afficher quoi que ce soit
Dri
Dri

Forums PureBasic - Français
https://www.purebasic.fr/french/
bizard, j'utilise des sprites3d pourtant !!Dr. Dri a écrit :100% de temps cpu pour vos deux progs chez moi et aucun n'est suffisament léger pour afficher quoi que ce soit
Dri
; by Dobro
; sur une idee de Mytic
posy=540
posx=0
vitess.f=46.5
Enumeration
#spr_clair
#spr_fonce
#spr_clair3D
#spr_fonce3D
EndEnumeration
InitSprite ()
InitSprite3D ()
InitMouse ()
InitKeyboard ()
Global mx.f,my.f
Global largeur=1024
Global my=-25 ; 25 a 89 (50=plat)
Global mx=0
Global Dim bx(201)
Global Dim bY(201)
OpenWindow (0,0,0,1024,768, "test" , #PB_Window_SystemMenu )
OpenWindowedScreen ( WindowID (0),0,0,1024,768,0,0,0)
;************ creation de la bande clair 1****************
CreateSprite ( #spr_clair ,1024,10, #PB_Sprite_Texture )
StartDrawing ( SpriteOutput ( #spr_clair ))
Box (0,0,1024,10, RGB ($0,$84,$42)) ; l'herbe
Box (300,0,400,10, RGB ($A4,$A4,$A4)) ; la bande
Box (300,0,30,10, RGB ($C7,$C7,$C7)) ; le bord gauche
Box (700,0,30,10, RGB ($C7,$C7,$C7)) ; le bord droit
StopDrawing ()
CreateSprite3D ( #spr_clair3D , #spr_clair )
; ***************************************************
; *********** creation de la bande fonce 1**************
CreateSprite ( #spr_fonce ,1024,50, #PB_Sprite_Texture )
StartDrawing ( SpriteOutput ( #spr_fonce ))
Box (0,0,1024,50, RGB ($0,$84,$42)) ; l'herbe
Box (300,0,400,50, RGB ($74,$9E,$AB)) ; la bande
Box (300,0,30,50, RGB ($F1,$1F,$1)) ; le bord gauche
Box (700,0,30,50, RGB ($F1,$1F,$1)) ; le bord droit
StopDrawing ()
CreateSprite3D ( #spr_fonce3D , #spr_fonce )
; **************************************************
Repeat
ExamineKeyboard ()
ExamineMouse ()
If KeyboardPushed ( #PB_Key_Up )
my.f = my + 1
If my>=35
my=35
EndIf
EndIf
If KeyboardPushed ( #PB_Key_Down )
my = my - 1
If my<=-72
my=-72
EndIf
EndIf
If KeyboardPushed ( #PB_Key_Left )
mx = mx - 1
If mx<=-11
mx=-11
EndIf
EndIf
If KeyboardPushed ( #PB_Key_Right )
mx = mx + 1
If mx>=11
mx=11
EndIf
EndIf
If KeyboardPushed ( #PB_Key_Add )
vitess.f = vitess.f + 0.1
If vitess>=50
vitess=50
EndIf
EndIf
If KeyboardPushed ( #PB_Key_Subtract )
vitess.f = vitess.f -0.1
If vitess<=46.5
vitess=46.5
EndIf
EndIf
If MouseButton ( #PB_MouseButton_Right )
End
EndIf
; *****************************************************
largeur=1024
taux=10 ; joue sur la vitesse d'étroitisation de la piste chiffre plus grand= plus large
cc=200
; ******************* dessine la route *********************
For boucle=0 To 200
largeur=largeur+taux
bx(boucle)=posx+(mx/900)*cc*cc-((taux/2)*boucle)+420 ; le 420 recentre
bY(boucle)=posy+boucle-(my/100)*cc
ZoomSprite3D( #spr_clair3D ,largeur-900,10)
Start3D ()
DisplaySprite3D ( #spr_clair3D ,bx(boucle),bY(boucle),255)
Stop3D ()
cc=cc-1: If cc<0:cc=200: EndIf
Next boucle
; *********************************************************
largeur=1024
taux=10
; *************** dessine les marquages *********************
For boucle=0 To 200
cc1=cc1-1: If cc1<0:cc1=200: EndIf
compteur=compteur+1
bbx=posx+(mx/900)*cc1*cc1-((taux/2)*boucle)+420 ; le 420 recentre
ZoomSprite3D( #spr_fonce3D ,largeur-900,4)
bby=bY(i)
If compteur>20+vitess ; regle l'ecart entre les bandes
compteur=0
Start3D ()
DisplaySprite3D ( #spr_fonce3D ,bbx,bby,255)
Stop3D ()
EndIf
i=i+1 : If i>200:i=0: EndIf
largeur=largeur+taux
Next boucle
; ***************************************************
FlipBuffers ()
ClearScreen ( RGB (0,0,0))
Event = WindowEvent ()
Delay (10)
Until Event = #PB_Event_CloseWindow
ReleaseMouse (1)
ShowCursor_ (1)
End
Merci tmyketmyke a écrit :c'est fluide, sans soucis
Pentium M, 1.6 GHz et une 9700pro.
bonjour,Dobro a écrit :tmyke a écrit :j'attends surtout le verdict de Dr Dri avec son ordinavapeur
bah ma charette au moins me permet de jouer à trackmania sans problème (à deux trois réglages près, je joue presque au minimum)Dobro a écrit :j'attends surtout le verdict de Dr Dri avec son ordinavapeur
Trackmania ,Dr. Dri a écrit :bah ma charette au moins me permet de jouer à trackmania sans problème (à deux trois réglages près, je joue presque au minimum)Dobro a écrit :j'attends surtout le verdict de Dr Dri avec son ordinavapeur
là rien qu'avec ce bout de code je tourne à 100% de conso cpu et rien ne s'affiche
Dri
bah c'est à moitié ça, l'autre raison c'est que j'ai pas particulièrement besoin d'une machine super baleze pour l'utilisation que j'en ai.case a écrit :peut etre qu'il garde sa vieille machine pour etre sur que son code tournera a peu pres partout !!
je dois te rappeller tous mes traveaux autour des Sprite3D ?Dobro a écrit :dit donc t'as vu mon code ??
j'affiche en tout et pour tout 210 Sprites en même temps a l'ecran !!
par contre ce sont des sprite3d , si ta carte graph ne gère pas la 3D
c'est pas étonnant !!
mais cela est bizarre quand meme
bon c'est vrais que mes sprites font 1024 de large !!Dr. Dri a écrit : je dois te rappeller tous mes traveaux autour des Sprite3D ?
et pis au passage trackmania (la version gratuite) est quand même "un peu" en 3D
Dri
oui, ca doit venir de ça, les vieilles cartes ne doivent pas apprécier.Dobro a écrit :bon c'est vrais que mes sprites font 1024 de large !!