le5ejumeau
Messages postés130Date d'inscriptionmardi 11 mars 2003StatutMembreDernière intervention 9 juillet 2009
-
8 févr. 2005 à 20:40
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 2016
-
10 févr. 2005 à 10:07
Je veux faire bouger un bonhomme sur l'ecran et je fais comme ça :
________________________________________________________________________
Option Explicit
Dim BougeH As Boolean
Dim BougeB As Boolean
Dim BougeD As Boolean
Dim BougeG As Boolean
Dim PosY As Long
Dim PosX As Long
________________________________________________________________________
Private Sub Form_Load()
Show
Bomberman.Move 10, 10
Do
Cls
Bomberman.Visible = False
PosY = Bomberman.Top
PosX = Bomberman.Left
General
Refresh
Bomberman.Visible = True
DoEvents
Loop
End Sub
________________________________________________________________________
Function General()
Dim Vitesse As Double
Vitesse = 2 'On peut augmenter cette valeur pour accelerer le programme
If BougeD Then
Bomberman.Left = PosX + Vitesse
End If
If BougeG Then
Bomberman.Left = PosX - Vitesse
End If
If BougeH Then
Bomberman.Top = PosY - Vitesse
End If
If BougeB Then
Bomberman.Top = PosY + Vitesse
End If
End Function
________________________________________________________________________
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyRight: BougeD = False 'On ne bouge plus a droite
Case vbKeyLeft: BougeG = False 'On ne bouge plus a gauche
Case vbKeyUp: BougeH = False 'on ne bouge plus en haut
Case vbKeyDown: BougeB = False 'on ne bouge plus en bas
End Select
End Sub
________________________________________________________________________
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode Case vbKeyRight: BougeH False: BougeG False: BougeD = True: BougeB = False Case vbKeyLeft: BougeH False: BougeG True: BougeD = False: BougeB = False Case vbKeyUp: BougeH True: BougeG False: BougeD = False: BougeB = False Case vbKeyDown: BougeH False: BougeG False: BougeD = False: BougeB = True
End Select
End Sub
________________________________________________________________________
Probleme mon petit bonhomme n'arrête pas de disparaitre et de reaparaitre
pouvez vous m'aider
je ne trouve pas la solution merci
le5ejumeau
Messages postés130Date d'inscriptionmardi 11 mars 2003StatutMembreDernière intervention 9 juillet 2009 8 févr. 2005 à 22:05
merci mais voila, il y a encore un probleme, losque j'enleve cls et refresh effectivement le Bonhomme ne disparait plus lorqu'il ne bouge plus mais il disparait losque je suis entrain de bouger.
de plus casy j'avais deja essayé cette solution qui marchait bien mais le probleme c'est que le bonhomme ne repondait pas aussitôt losque j'appuyais sur la touche.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 9 févr. 2005 à 09:29
salut,
peut-être mais je viens d'essayer avec (et ca marche très bien):
- un PictureBox et dans ce cas j'utilise l'évènement KeyDown du PictureBox
- un Image et dans ce cas j'utilise l'évènement KeyDown de la Form
et un code dans le genre :
Select Case KeyCode
Case vbKeyDown
Picture1.Top = Picture1.Top + Vitesse
Case vbKeyUp
Picture1.Top = Picture1.Top - Vitesse
Case vbKeyLeft
Picture1.Left = Picture1.Left - Vitesse
Case vbKeyRight
Picture1.Left = Picture1.Left + Vitesse
End Select
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 9 févr. 2005 à 12:20
J'avais moi aussi essayer et ça marche nickel mais ce veut surrement dire le5ejumeau c'est que dans ce cas le déplacement n'est plus fluide mais son personnage avance par saut. Cela est du au fait que lorsque tu reste appuyer sur une touche, cette touche n'est prise en compte que toutes les xx ms (500 je crois) c'est le paramètre 'taux de répétition' du clavier et c'est pas facile à configurer(et pas toujours configurable d'ailleur). C'est un paramètre Windows mais c'est aussi un paramètre BIOS avec son petit frère le 'Délai avant répétition' qui dit combien de temps doit rester appuyer la touche avant qu'il y ait répétition du caractère.
le5ejumeau
Messages postés130Date d'inscriptionmardi 11 mars 2003StatutMembreDernière intervention 9 juillet 2009 9 févr. 2005 à 15:56
oui ShareVB c'etait ça le probleme je voulais enlever ce laps de temps ou j'appuie sur la touche et le personnage n'avance pas . Ce qui marchais avec la methode que j'utilise plus haut mais seulement mon personnage ne fait qu'apparaitre et disparaitre à l'ecran.