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 !
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