Ch'tit demo de scroll(api)

Description

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 !! @+

Codes Sources

A voir également

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.