Probleme de code avec mon mur de brique

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Tonio
Messages : 95
Inscription : ven. 07/avr./2017 14:49
Localisation : Sud Est

Re: Probleme de code avec mon mur de brique

Message par Tonio »

Un grand merci à vous 2

si je fait ça :

Code : Tout sélectionner

\briqueX = (gLigne * 50) + 200
je decale tout le mur sur x j'ai centrer mon mur est ce la bonne methode?
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Probleme de code avec mon mur de brique

Message 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
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Tonio
Messages : 95
Inscription : ven. 07/avr./2017 14:49
Localisation : Sud Est

Re: Probleme de code avec mon mur de brique

Message par Tonio »

Merci beaucoup pour ton aide
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Probleme de code avec mon mur de brique

Message 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.
Image
Image
Tonio
Messages : 95
Inscription : ven. 07/avr./2017 14:49
Localisation : Sud Est

Re: Probleme de code avec mon mur de brique

Message par Tonio »

Merci taz pour tes conseils
Répondre