Dri
Jeu de voiture à l’ancienne....
-
Buckethead
- Messages : 122
- Inscription : jeu. 27/sept./2007 20:25
bon ! nouvelle version !!
dites moi si ça rame chez vous ?
utilisation des touches flechées pour bouger la route
et "+" et "-" pour allez plus vite ou moins vite jusqu'a l'arret !!
dites moi si ça rame chez vous ?
utilisation des touches flechées pour bouger la route
et "+" et "-" pour allez plus vite ou moins vite jusqu'a l'arret !!
; 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
-
beauregard
- Messages : 1307
- Inscription : dim. 08/juil./2007 18:32
- Localisation : Toulouse
y avait même pas encore de fleurs...
bonjour,Dobro a écrit :tmyke a écrit :j'attends surtout le verdict de Dr Dri avec son ordinavapeur
sur mon brontosaure( un PC qui a presque 6 ans: AMD AthlonXP 1700+, 512Moram, radeon 7000series 64Mo), c'est malgrès tout très fluide.
Temps processeur:
1er code: 86
2ème code: 83
A+
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
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
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
et pis au passage trackmania (la version gratuite) est quand même "un peu" en 3D
Dri
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
faudrai que je revois cette partie !!
j'ai voulu utiliser un seul sprite par bande
alors que manifestement il faut utiliser 3 sprite par bande
partie gauche : de l'herbe
partie central la route
partie droite de l'herbe
Maintenant tu peut parler, tu as l'air d'etre le seul a ne rien voir !!
-
beauregard
- Messages : 1307
- Inscription : dim. 08/juil./2007 18:32
- Localisation : Toulouse