Page 2 sur 2
Re: Probleme de code avec mon mur de brique
Publié : lun. 10/juil./2017 19:04
par Tonio
Un grand merci à vous 2
si je fait ça :
je decale tout le mur sur x j'ai centrer mon mur est ce la bonne methode?
Re: Probleme de code avec mon mur de brique
Publié : lun. 10/juil./2017 19:15
par microdevweb
Voici un exemple pour centré ton mur
Code : Tout sélectionner
Procedure MakeBrique()
Protected gLigne,gColonne,w=40,h=15,X,Y
For gLigne=0 To 5
; Calcul de x pour que les briques soit centrées
; le centre de l"écran moins 5 briques (puisqu'il y en 10)
X=(800/2)-(w * 5)
For gColonne= 0 To 9
With mur(gLigne,gColonne)
\sprite = CreateSprite(#PB_Any,w,h)
\briqueX =X
\briqueY =Y
StartDrawing(SpriteOutput(\sprite))
Box(0, 0, w,h, RGB(0, Random(255,0), Random(255,0)))
StopDrawing()
X+W
EndWith
Next
Y+H
Next
EndProcedure
Re: Probleme de code avec mon mur de brique
Publié : lun. 10/juil./2017 21:01
par Tonio
Merci beaucoup pour ton aide
Re: Probleme de code avec mon mur de brique
Publié : lun. 10/juil./2017 21:08
par TazNormand
Pour centrer des éléments sur une largeur connue, il faut appliquer la formule : (largeur totale - largeur de l'élément à centrer) / 2
Ta largeur totale est celle que tu as définie pour le openScreen (800 dans ton premier code), si la largeur d'une ligne de brique est de (50 + 1) * 10, donc 510, ton premier sprite de brique est à positionner en 145. Si jamais le résultat de la formule est un décimal, on arrondit à l'entier inférieur.
(50 + 1) correspond à la largeur d'une brique plus le pixel de décalage pour éviter le chevauchement, et 10 le nombre de briques par ligne. Donc tu peux remplacer ton 200 par 145, mais uniquement si tu as défini un écran de 800 pixels de large.
Re: Probleme de code avec mon mur de brique
Publié : lun. 10/juil./2017 21:08
par Tonio
Merci taz pour tes conseils