Partage
  • Partager sur Facebook
  • Partager sur Twitter

Petit jeux en Vb.net

.

Sujet résolu
    3 mars 2011 à 18:51:46

    Bonjour a tous et a toutes, j'espere que vous allez bien. ;)
    En tout cas moi ca ira mieux quand j'aurai résolu ce problème :p
    Bon bref, voila mon problème :
    Un panel se déplace tout seul vers la droite et je voudrai que quand il arrive a la fin de la form (le plus a droite possible) , il descende au lieu d'aller a droite.
    Voila mon code :
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Me.ProgressBar1.Value = Me.ProgressBar1.Value + 1
            Panel1.Location = New Point(Panel1.Location.X + 1)
            If Panel1.Location.X = 243 Then
                Panel1.Location = New Point(Panel1.Location.Y - 1)
            End If
    


    Si vous savez comment faire, aidez moi svp !
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      3 mars 2011 à 20:25:58

      N'utilise pas le constructeur avec un seul Integer de la classe Point, il est assez tordu et pas prévu pour ce que tu veux faire.
      Il te faut utiliser Point(Integer, Integer).
      Si tu veux changer Y uniquement, tu passe la valeur actuelle de X en premier paramètre, et vice-versa.
      • Partager sur Facebook
      • Partager sur Twitter
        4 mars 2011 à 12:38:49

        Euh j'ai pas compris la ^^'
        • Partager sur Facebook
        • Partager sur Twitter
          4 mars 2011 à 16:04:12

          Try
          tien, essaye sa :

          Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
                  Me.ProgressBar1.Value = Me.ProgressBar1.Value + 1
          if not Me.Panel1.location.x = 243 then
                  Panel1.Location = New Point(Panel1.Location.X + 1)
          Else
                      Panel1.Location = New Point(Panel1.Location.Y - 1)
                  End If
          Catch ex as exception
          msgbox(ex.message)
          end try
          
          • Partager sur Facebook
          • Partager sur Twitter
            4 mars 2011 à 16:13:56

            Merci pour ta réponse !!!
            Mais non ca ne marche pas :(
            Le panel va 243 mais ensuite il retourne en un éclaire tout a gauche et il recommence a allez a droite ...
            C'est bizarre.
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              4 mars 2011 à 16:36:02

              Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
                  Me.ProgressBar1.Value = Me.ProgressBar1.Value + 1
                  If Panel1.Location.X = 243 Then
                      ' Y + 1 fait descendre le panel
                      Panel1.Location = New Point(Panel1.Location.X, Panel1.Location.Y + 1)
                  Else
                      ' X + 1 fait aller à droite le panel
                      Panel1.Location = New Point(Panel1.Location.X + 1, Panel1.Location.Y)
                  End If
              End Sub
              

              Faut pas utiliser le constructeur qui ne prend qu'un Integer en paramètre...ce qu'il fait est de séparer l'Integer en deux parties de 16 bits et d'utiliser ça comme X et Y, c'est pas ce que tu veux.
              • Partager sur Facebook
              • Partager sur Twitter
                4 mars 2011 à 17:38:08

                If Not Me.Panel1.location.x = 243 then
                    Panel1.Location = New Point(Panel1.Location.X + 1, Panel1.Location.Y)
                Else
                    Panel1.Location = New Point(Panel1.Location.X, Panel1.Location.Y - 1)
                End If
                

                :-°

                Edit: Oups, je n'avais pas vu la réponse d'Aethec.
                • Partager sur Facebook
                • Partager sur Twitter
                  5 mars 2011 à 10:26:23

                  Merci beaucoup pour vos réponse (surtout Orwell et Aethec) !
                  Ca marche ! :D
                  Sauf que Orwell toi a 243 ca monte, ca descend pas mais bon c'est pg ^^
                  Merci encore !
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    5 mars 2011 à 12:00:07

                    Il a repris ton code de base en fait :-°
                    Les coordonnées sont relatives au coin haut gauche du conteneur ; pour faire descendre, il faut augmenter Y.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 mars 2011 à 13:33:52

                      Ah oui, j'ai pas trop regardé :-°
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Petit jeux en Vb.net

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown