c'est un module de classe qui permet de gérer le scroll dans un container,
et expose une première approche de gestion de collisions.
On peut ce servir des flêches, augmenter la vitesse, faire jouer un son
Bien pour voir le fonctionnement d'un module de classe. (OOP)...
Source / Exemple :
'CODE DE LA FEUILLE
'------------------------
Option Explicit
'-------------
'**********************************************************************
'Ce petit bout de programme met en action les api suivantes :
'DrawText >> permet d'écrire du texte dans un container
'GetTickCount >> permet de remplacer un timer normal
'ExtractIcon >> permet d'extraire un icon
'DrawIcon >> permer de dessiner un icone dans un container
'---------
'
'Voila une petite animation pour découvrir et un petit pas
'pour créer des grands jeux !
'
'Création le :22/06/2002
'
'Auteur : Victor Garnier, victor.gar@wanadoo.fr
'**********************************************************************
Dim WithEvents objDef As clsDefile
'*****************************************
Private Sub Command1_Click()
'STOP
objDef.Defilement = False
End Sub
'*****************************************
Private Sub Command2_Click()
'START
Me.SetFocus
objDef.Defilement = True
objDef.Message = txtDefile.Text
objDef.Run pic
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Command4_Click()
If Command4.Caption = "Pas de son" Then
Command4.Caption = "Son !"
objDef.WavPath = ""
Else
Command4.Caption = "Pas de son"
objDef.WavPath = App.Path & "\ohoh.wav"
End If
End Sub
'*****************************************
Private Sub Form_Activate()
'DEBUT ICI
Set objDef = New clsDefile
objDef.WavPath = App.Path & "\ohoh.wav"
objDef.iConPath Me, App.Path & "\Insects38.ico"
objDef.Vitesse = 1
lblVitesse.Caption = "Vitesse 1"
objDef.QuelSens = DroiteGauche
objDef.Message = txtDefile.Text
objDef.Intervalle = 2
objDef.Defilement = True
objDef.Run pic
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 32 Then Command1_Click
If KeyCode < 37 Or KeyCode > 40 Then Exit Sub
Select Case KeyCode
Case 37 'flêche gauche
objDef.QuelSens = DroiteGauche
Case 38 'flêche haut
objDef.QuelSens = BasHaut
Case 39 'flêche droite
objDef.QuelSens = GaucheDroite
Case 40 'flêche bas
objDef.QuelSens = HautBas
End Select
End Sub
'*****************************************
Private Sub Form_Load()
'remarque :
'1- on instancie l'objet dans le form
' activate :)
' et pkoi ??? ben pensez y !
'
'2- la propriété autoredraw du
' picturebox est sur true...
'***************************************
End Sub
'*****************************************
Private Sub Form_Unload(Cancel As Integer)
objDef.Defilement = False
Set objDef = Nothing
End Sub
'*****************************************
Private Sub HScroll1_Change()
objDef.Vitesse = HScroll1.Value
lblVitesse.Caption = "Vitesse " & objDef.Vitesse
End Sub
Private Sub objDef_Collision(sPapillon As String)
Label1(0).Caption = sPapillon
End Sub
'*****************************************
Private Sub Option1_Click(Index As Integer)
Select Case Index
Case 0
objDef.QuelSens = BasHaut
Case 1
objDef.QuelSens = DroiteGauche
Case 2
objDef.QuelSens = GaucheDroite
Case 3
objDef.QuelSens = HautBas
End Select
Me.SetFocus
End Sub
'*****************************************
Conclusion :
Amusez vous bien !! @+
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.