Page 1 sur 1

Bonsoir, un petit bout de code pour faire la main sur la 2D

Publié : lun. 05/janv./2009 22:05
par jbernard13
bonsoir
en ce moment j'etudie les nombreux tutos sur les sprites et aussi la 2d
j'ai crée un petit sprite an guise de curseur pour me faire la main
je suis pas un pro en programation , j'ai juste compris comment on crée un curseur ....

Code : Tout sélectionner


;*****************************************
;* Un bout de code  pour apprendre la 2D *
;*****************************************
; on initialise le sprite,le clavier et la souris 
InitSprite()
InitKeyboard()
InitMouse()
; Definition de la constante pour le curseur 
Enumeration
 #curseur
EndEnumeration 


; Creation de l'ecran 800*600 avec une profondeur de 32 bits 


OpenScreen(800,600,32," test de 2D")
 
 
 ; Creation d'un simple sprite pour le cuseur 
 CreateSprite(#curseur,32,32)
 StartDrawing(SpriteOutput(#curseur))
 Circle(4,4,5,RGB(255,255,255))
 StopDrawing()
 
 
  
  ;Boucle principale 
  
  Repeat 
   ClearScreen(RGB(0,0,0))
   ExamineKeyboard()
   ExamineMouse()
   DisplayTransparentSprite(#curseur,MouseX(),MouseY())
   FlipBuffers()
   Until KeyboardPushed(#PB_Key_Escape)
  
   

Publié : mar. 06/janv./2009 10:26
par Cool Dji
C'est bien jbernard, l'important en programmation est d'être motivé et de ne pas relacher l'effort (être patient). Parfois, c'est décourageant...
Ensuite, en pratiquant, on s'améliore, on trouve de nouvelles astuces, de nouvelles possibilités...

En partant de ton code, en apportant des modifications légères à chaque fois, tu peux arriver à tester un grand nombre de fonctions de PureBasic...

Les sources d'exemples sur les sprites qui sont dans le repertoires de C:\Program Files\PureBasic\Examples\Sources sont très utiles pour démarrer

Bon courage et encore bravo pour ce début. A bientôt pour la suite

Publié : mar. 06/janv./2009 11:52
par jbernard13
merci , maintenant tu me dire comment je peux ameliorer mon programme svp?

Publié : mar. 06/janv./2009 12:18
par Cool Dji
Si on reprends depuis le début.

1 - commence par afficher un sprite : ça, c'est fait
2 - fais le bouger avec les touches du clavier (ou la souris) : ça, c'est fait
3 - fais apparaitre un autre sprite qui bouge tout seul : ça, c'est pas encore fait
4 - quand ces 2 sprites se touchent, tu joues un son ça, c'est pas encore fait

Pour faire le 3, on modifie ton code :

Code : Tout sélectionner

;***************************************** 
;* Un bout de code  pour apprendre la 2D * 
;***************************************** 
; on initialise le sprite,le clavier et la souris 
InitSprite() 
InitKeyboard() 
InitMouse() 
; Definition de la constante pour le curseur 
Enumeration 
 #curseur 
 #cible 
EndEnumeration 

; Creation de l'ecran 800*600 avec une profondeur de 32 bits 

OpenScreen(800,600,32," test de 2D") 
    
 ; Creation d'un simple sprite pour le cuseur 
 CreateSprite(#curseur,32,32) 
 StartDrawing(SpriteOutput(#curseur)) 
 Circle(16,16,16,RGB(255,255,255)) 
 StopDrawing() 
  
; Creation d'un simple sprite pour la cible 
 CreateSprite(#cible,32,32) 
 StartDrawing(SpriteOutput(#cible)) 
 Circle(16,16,16,RGB(255,0,0)) ; Couleur Rouge (Red Green Blue)
 StopDrawing()
 
; Prépare les coordonnées de la cible
CibleX=0
 CibleY=200
 
 ;Boucle principale 
  
  Repeat 
   ClearScreen(RGB(0,0,0)) 
   ExamineKeyboard() 
   ExamineMouse() 
   DisplayTransparentSprite(#curseur,MouseX(),MouseY()) 

; on bouge la cible en augmentant de 1 à chaque fois la positionX
   CibleX+1
; Si la position X de la cible dépasse 800 (la taille de la fenetre) on repart du début
   If CibleX>800
     CibleX=0
   EndIf

; Affiche la cible
   DisplayTransparentSprite(#cible,CibleX,CibleY) 
  
 FlipBuffers() 
   Until KeyboardPushed(#PB_Key_Escape) 
Ensuite, ton travail à faire tout seul : faire bouger la cible également en Y...

Mais as-tu regardé les sources disponibles dans les exemples de PureBasic ?

Publié : mar. 06/janv./2009 16:07
par jbernard13
merci je suis entrain de modifier le code en rajoutant une image de fond
mais comment crée un cercle plus grand? j'ai beau modifier les paramettres et j'obtiens des quarts de cercles ..
j'ai regarder les tutos de Comtois et de kayne

Publié : mar. 06/janv./2009 21:25
par Anonyme
mais comment crée un cercle plus grand? j'ai beau modifier les paramettres et j'obtiens des quarts de cercles ..

Fait un tuto sur le création de quart de cercle ! :D

Code : Tout sélectionner

 CreateSprite(#cible,32,32)

 Circle(16,16,16,$FF0000)

Ton sprite fait 32x32 pixels
Ton cercle fait 16 de rayon , donc 32 de diamètre , et tu le dessine en 16,16 (x,y) , c'est le centre de ton sprite ( qui fait 32x32 )

don pour un sprite de 64x64 , le cercle donne :


Circle(32,32,32,$FF0000)[/code]

Publié : mar. 06/janv./2009 21:49
par jbernard13
merci Cpl.Bator
pour tes explications et bonne année à toi