Page 1 sur 1
sprite
Publié : sam. 28/juin/2008 7:23
par chikun
Code : Tout sélectionner
InitSprite ()
OpenScreen (1024, 768, 32, "squelette ecran" )
KeyboardMode (1)
Structure balle
x.w
y.w
identite.s
sensx.l
sensy.l
EndStructure
CreateSprite ( Sprite,32,32) ; on cree un sprite (une balle)
StartDrawing ( SpriteOutput (Sprite) ) ; on va dessiner dans le sprite
Circle (16, 16, 16, RGB ($F1,coul,$F)) ; on dessine un rond dedans(dans le sprite)
DrawText (10, 8,balle(1)\identite.s, RGB (255,255,255), RGB ($F1,coul,$F)) ; on ecrit l'identité sur le sprite !
StopDrawing ()
balle(1)\x=10
balle(i)\y=10
balle(i)\sx=0
balle(i)\sy=0
id$= Chr ( Random (127)+32)
balle(i)\identite.s=id$
End
kess ki ne va pa au niveau du drawtext
j'essai de comprendre UN sprite avec le prog de dobro
Publié : sam. 28/juin/2008 7:54
par Backup
faudrai voir a mettre tout ce qu'il faut dans ton prg , c'est un minimum
j'ai commenté ce qu'il manquait avec des "<----------"
Code : Tout sélectionner
InitSprite ():InitKeyboard():InitMouse() ; <-------- on va gerer une souris et un clavier !!!
OpenScreen (1024, 768, 32, "squelette ecran" )
KeyboardMode (1)
Structure balle
x.w
y.w
sx.w
sy.w
identite.s
sensx.l
sensy.l
EndStructure
#Sprite=1 ; <-------- on donne un numero a au moin 1 sprite
Dim balle. balle(1) ; <-------- on dimentionne concretement la structure
CreateSprite ( #Sprite,32,32) ; on cree un sprite (une balle)
StartDrawing ( SpriteOutput (#Sprite) ) ; on va dessiner dans le sprite
Circle (16, 16, 16, RGB ($F1,coul,$F)) ; on dessine un rond dedans(dans le sprite)
DrawText (5, 8,balle(1)\identite.s, RGB (255,255,255), RGB ($F1,coul,$F)) ; on ecrit l'identité sur le sprite !
StopDrawing ()
balle(1)\x=10
balle(i)\y=10
balle(i)\sx=0
balle(i)\sy=0
id$= Chr ( Random (127)+32)
balle(1)\identite.s ="OO"; <-------- on remplis ce champs de structure avec quelque chose
xtp=1
xt=3
Repeat ; <-------- on cree une boucle, sion le prg se ferme automatiquement !!!
;*************** petit animation sur le Sprite ********************
If xt>6:xtp=-xtp:EndIf
If xt<3:xtp=-xtp:EndIf
xt=xt+xtp
StartDrawing ( SpriteOutput (#Sprite) ) ; on va dessiner dans le sprite
DrawText (xt, 8,balle(1)\identite.s, RGB (255,255,255), RGB ($F1,coul,$F)) ; on ecrit l'identité sur le sprite !
StopDrawing ()
; *****************************************************************
ExamineKeyboard():ExamineMouse() ; <-------- on observe le comportement de la souris et du clavier
DisplaySprite(#Sprite,1024/2,768/2)
FlipBuffers() ; affiche le resultat a l'ecran ! ; <-------- INDISPENSABLE sans ça on ne verra pas le resultat a l'ecran
Delay(1) ; <-------- permet de rendre la main au system de temps en temps
Until KeyboardPushed(#PB_Key_Escape) Or MouseButton(2) ; <-------- on donne une condition de sortie
End
Publié : sam. 28/juin/2008 9:12
par chikun
Publié : dim. 29/juin/2008 4:08
par chikun
merci dobro

et reste avec nous, on fait des frites
voilà, je vais passer les faire se promener maintenant....(kil dit!)
Code : Tout sélectionner
;10 neu code de conduite:1 =normal ;vert (3,252,85)
;4 med code de conduite:2 =docteur ;jaune (252,249,3)
;2 psy code conduite:3 =psy ;bleu (0,255,255)
;32 bad code conduite:4 =mechant ;orange (255,100,0)
;2 kil code de conduite:5 =tueur ;rouge (255,0,0)
InitSprite()
OpenScreen(1024, 768, 32, "squelette ecran")
InitKeyboard()
Structure ent
xe.w
ye.w
nom.s
cc.w
cr.w
cg.w
cb.w
EndStructure
nbent=50
Dim ent.ent(nbent)
; charge les données des entitées:
;{
dnb=1:fnb=10:cd=1:rr=3:rg=252:rb=85:n$="neu"
Gosub charge ;pour les 10 neutres
dnb=11:fnb=14:cd=2:rr=255:rg=249:rb=3:n$="doc"
Gosub charge ;pour les 04 docteurs
dnb=15:fnb=16:cd=3:rr=0:rg=255:rb=255:n$="psy"
Gosub charge ;pour les 02 psy
dnb=17:fnb=48:cd=4:rr=255:rg=100:rb=0:n$="bad"
Gosub charge ;pour les 32 mauvais
dnb=49:fnb=50:cd=5:rr=255:rg=0:rb=0:n$="kill"
Gosub charge ;pour les 2 tueurs
;}
For i=1 To nbent
CreateSprite( i,32,32) ; on cree un sprite (une balle)
StartDrawing(SpriteOutput(i) ) ; on va dessiner dans le sprite
Circle(16, 16, 16, RGB(ent(i)\cr,ent(i)\cg,ent(i)\cb)) ; on dessine un rond dedans(dans le sprite)
DrawText(4,8,ent(i)\nom,RGB(0,0,125),RGB(ent(i)\cr,ent(i)\cg,ent(i)\cb)) ; on ecrit l'identité sur le sprite !
StopDrawing()
DisplayTransparentSprite(i,ent(i)\xe,ent(i)\ye)
Next i
FlipBuffers()
Repeat
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape)
Goto cont
EndIf
ForEver
cont:
End
;**************************************************************************
; sp: chargement des données
;{
charge:
For i=dnb To fnb
x=Random(1000) : y=Random(700)
ent(i)\xe=x : ent(i)\ye=y
ent(i)\nom=n$
ent(i)\cc=cd
ent(i)\cr=rr:ent(i)\cg=rg:ent(i)\cb=rb
Next
Return
;}