JEU OU LA BOULE DE DESTRUCTION EST ATTIRÉE VERS LA SOURIS DES FOIS DIFFICILE A D

neamar Messages postés 26 Date d'inscription vendredi 9 septembre 2005 Statut Membre Dernière intervention 12 avril 2009 - 21 mai 2007 à 21:47
ciberrique Messages postés 589 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 18 juillet 2010 - 22 mai 2007 à 17:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42786-jeu-ou-la-boule-de-destruction-est-attiree-vers-la-souris-des-fois-difficile-a-diriger

ciberrique Messages postés 589 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 18 juillet 2010 1
22 mai 2007 à 17:19
Pas d'erreur chez moi...
cs_margot000 Messages postés 23 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 11 juillet 2007
22 mai 2007 à 17:12
quand je copie ton premier exemple dans un projet, msg erreur : Procedure Sub ou Fonction non definie !!
ciberrique Messages postés 589 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 18 juillet 2010 1
22 mai 2007 à 01:17
Oups j'ai oublié ^^ :

Pour tes images utilise BitBlt et TransparentBlt, ensuite lorsque tu sors de l'ecran de jeu la boule passe de l'autre coté mais ne perds pas de vitesse en se rapprochant mais en gagne.

Euh ensuite, je crois que c'est tout. Bonne continuation.
ciberrique Messages postés 589 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 18 juillet 2010 1
22 mai 2007 à 01:12
Tiens voila un exemple de comment tu peux l'utiliser pour faire un Timer, il y a d'autres façons, à toi de choisir celle que tu preferes.


Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Type Timers
T1 As Long
T2 As Long
State As Boolean
Interval As Integer
End Type

Dim MonTimer As Timers


Private Sub Form_Load()

Dim Running As Boolean

Running = True

MonTimer.Interval = 10000 '10000ms=10s

Do

If TimerIs(MonTimer) Then
MsgBox "Fin"
Running = False
End If
DoEvents

Loop Until Running = False

End Sub


Private Function TimerIs(TimerUsed As Timers) As Boolean

With TimerUsed

.T2 = GetTickCount

If .State = False Then

.T1 = GetTickCount
.State = True

End If

If .T2 - .T1 >= .Interval Then
TimerIs = True
.State = False
End If

End With

End Function
cs_margot000 Messages postés 23 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 11 juillet 2007
21 mai 2007 à 21:53
mais comment utilisé GetTickCount a la place d'un timer ?? tu aurais pa une source pour illustrer ton commentaire stp ?
merci d'avance MarGot
neamar Messages postés 26 Date d'inscription vendredi 9 septembre 2005 Statut Membre Dernière intervention 12 avril 2009
21 mai 2007 à 21:47
Salut !
Au lieu de déplacer des Picture box sur la form, renseigne toi sur les Apis, ca évite les effets de clignotements...qui sont un peu gênants à la longue.
Tu trouveras une bonne introduction à ce domaine ici : http://www.vbexplorer.com/VBExplorer/gdi1.asp

Ensuite, essaie d'éviter les Timers, qui n'ont aucune précision...utilise plutot une boucle interne avec GetTickCount ou au pire timer (l'instruction qui renvoie le nombre de secondes écoulées depuis minuit...par soustraction, on obtient une bonne temporisation, beaucoup plus efficace...)
et sinon, j'aime bien l'idée..mais tu devrais enlever le"si on sort par en haut, on réapparait par en bas..", car la boule devient alors incontrôlable ! Bonne continuation dans l'univers VB !
Rejoignez-nous