gregml
Messages postés88Date d'inscriptionsamedi 17 mai 2014StatutMembreDernière intervention16 juin 2017
-
6 juin 2014 à 19:30
gregml
Messages postés88Date d'inscriptionsamedi 17 mai 2014StatutMembreDernière intervention16 juin 2017
-
6 juin 2014 à 23:55
Public Class Mario1
Private _CoordonneesActuelles As Point
Private _Taille As Size
Sub New(ByVal PositionOriginelle As Point, ByVal tailleMario As Size)
_CoordonneesActuelles = New Point(PositionOriginelle)
_Taille = New Size(tailleMario)
End Sub
Public Sub avance()
_CoordonneesActuelles.X = _CoordonneesActuelles.X + _PasX()
End Sub
Public Property Position() As Point
Get
Return _CoordonneesActuelles
End Get
Set(ByVal value As Point)
_CoordonneesActuelles = value
End Set
End Property
#Region "Fonctions privées"
Private Function _PasX()
Return _Taille.Width
End Function
Private Function _PasY()
Return _Taille.Height
End Function
#End Region
End Class
pour la classe Mario1, dans la fenêtre Mario1.vb
et
Public Class PlateauDeJeu
'Mario déclaré en global
Dim MonMario As Mario1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' un nouveau mario
MonMario = New Mario1(Me.PAN_MARIO.Location, Me.PAN_MARIO.Size)
End Sub
Private Sub BT_AVANCE_CLICK(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_AVANCE.Click
'On le fait avancer
MonMario.avance()
' on récupère la nouvelle position
Me.PAN_MARIO.Location = MonMario.Position
End Sub
End Class
pour la classe PlateauDeJeu dans Form1.vb
Mais j'ai 2 problèmes:
1) déjà, je ne comprends pas pourquoi mon 'panel' ne s'affiche pas dans ma Form1. C'est une question accessoire mais assez énervante.
2) Le programmateur a introduit deux variables : PAN_MARIO.Location et PAN_MARIO.Size, qu'il n'a pas défini au préalable. VB me renvoie dès lors un message d'erreur :PAN_MARIO n'est pas un membre de 'mario.PlateauDeJeu'
Pourriez-vous m'aider svp ?
Merci, Greg
A voir également:
Explication sur une classe d'objet s'il vous plaît.
gregml
Messages postés88Date d'inscriptionsamedi 17 mai 2014StatutMembreDernière intervention16 juin 2017 6 juin 2014 à 21:53
Merci Jordane45, toujours prompt à répondre à tous les problèmes ! Merci
Quasiment toutes les erreurs ont disparu, le panel est visible (j'ai honte). Par contre, il reste une erreur, VB me souligne le BT_AVANCE après le Handles ????Private Sub BT_AVANCE_CLICK(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_AVANCE.Click
de la classe PlateuadeJeu
et inscrit 'La clause Handles requiert une variable WithEvents définie dans le conteneur ou l'un de ses types.
C'est assez obscur pour moi...
Merci, Grég
jordane45
Messages postés38241Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 septembre 2024345 6 juin 2014 à 22:24
Tu as mis un Bouton pour faire avancer ton panel ?
Si oui... tu doubles cliques dessus et tu y colles le code
'On le fait avancer
MonMario.avance()
' on récupère la nouvelle position
Me.PAN_MARIO.Location = MonMario.Position
et tu supprime celui là :
Private Sub BT_AVANCE_CLICK(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_AVANCE.Click
'On le fait avancer
MonMario.avance()
' on récupère la nouvelle position
Me.PAN_MARIO.Location = MonMario.Position
End Sub
gregml
Messages postés88Date d'inscriptionsamedi 17 mai 2014StatutMembreDernière intervention16 juin 2017 6 juin 2014 à 23:55
Salut,
Effectivement ça ne bugue plus. Ca ne marche pas super bien. Mais désormais, je vais pouvoir vraiment décortiquer ce bout de code.