- Applique sur une balle les effets de la gravité : acceleration en chute descceleration en monté, et rebond sur la base du systeme.
- Utilise le dragdrop pour relancer la balle
- Les réalisme est limité : pas de rebons sur les bords etc ...
Source / Exemple :
'=======================================================
'=======================================================
'code : par fki | icq 104358060 | aim : fkiaim
'
'Composant : sur une form ajouter 3 picturebox (picture1 = obj en mvnt / picture2 = limites du systeme /
' picture3 = ico pour dragdrop) ; un timer : timer1 (interval = 10) ; 2 label : label1 et label2
' (pour un afficher les vitesses en pixel/s et m/s ; 1 boutou command1 (pour quitter)
'
'com. : ceci n'est qu'un simple code de remplacement
' j'ai concience que ceului-ci est inutile puisque peu réaliste
' (entre autre : pas de rebonds sur les cotés) et n'utilisant pas directx ou opengl
' En esperant que vous puissiez trouver un interret quelquonque a cette source
'
'Ps : J'emerde royalement les connards prétancieux qui ne pencent qu'a critiquer sans aucun apport
' de solution et je remercie les tt les gens pret à aider et à critiquer de façon positive. @+.
'=======================================================
'=======================================================
'============= Variables ============='
Dim Y As String ' vitesse horizontale
Dim v As String ' vitesse verticale
Dim w As Boolean ' Perdiode : accélération / deccélération
Dim z As Boolean ' Pr stoper la balle si elle touche un cote du sys.
Private Sub Command1_Click()
End
End Sub
Private Sub Form_Load()
'assignation des var
Y = 5
v = 2
w = True
z = True
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'dragdrop
'ont arreter le timer et ont cache l'image
Timer1.Enabled = False
Picture1.Visible = False
'ont remplace l'image par l'ico de dragdrop
Picture1.Drag
Picture1.DragIcon = Form1.Picture3
End Sub
Private Sub Picture2_DragDrop(Source As Control, X As Single, Y As Single)
'un fois le dragdrop terminer ont depalce l'objet
Picture1.Top = Y
Picture1.Left = X
'ont réassigne les var
Y = 5
v = 2
w = True
z = True
'et ont afficher l'image puis ont lance le timer
Picture1.Visible = True
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
'etat_a = balle en acceleration
'verif que la balle sera bien dans le systeme apres le prochaine mvnt
If ((Picture1.Top + v) < Picture2.Height And (Picture1.Left + Y) < Picture2.Width And w = True And z = True) Then
'incrementation de la vitesse
v = v + 1
'mvnt de l'objet
Picture1.Top = Picture1.Top + v
Picture1.Left = Picture1.Left + Y
'si il arrive aux limites du systeme (verticalement)
ElseIf ((Picture1.Top + v) > Picture2.Height And w = True And z = True) Then
Picture1.Top = Picture2.Height
w = False
v = v - 10
'si il arrive aux limites du systeme (verticalement)
ElseIf ((Picture1.Left + Y) > Picture2.Width And w = True And z = True) Then
Picture1.Left = Picture2.Width
z = False
End If
'etat_a = balle en descceleration
If (v > 0 And (Picture1.Left + Y) < Picture2.Width And w = False And z = True) Then
v = v - 1
Picture1.Top = Picture1.Top - v
Picture1.Left = Picture1.Left + Y
ElseIf (v = 0 And w = False And z = True) Then
w = True
ElseIf ((Picture1.Left + Y) > Picture2.Width And w = False And z = True) Then
Picture1.Left = Picture2.Width
z = True
End If
'Affichage de la vitesse de l'objet
Label2.Caption = "Vitesse : " & (v * (1000 / Timer1.Interval)) & " Pixels /s"
Label3.Caption = "Vitesse : " & ((v * (1000 / Timer1.Interval)) * 0.04) & " Cm /s"
End Sub
Conclusion :
En esperant que vous pourrez trouver une utilitée quelquonque à cette source.
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.