J'ai débuté un petit jeu "RPG". Présentement, je travaille sur la fonction "Coup d'épée". En gros c'est simple, lorsque j'appuie sur A, le programme vérifie dans qu'elle direction est mon personnage (vous comprendrez avec le code). Si le personnage regarde vers la droite, j'ai créé l'image d'un petit bonhomme qui donne un coup d'épée (forte ressemblance avec les skins "Slayer Online"). L'image du coup d'épée s'apelle "fakir_epee_gauche" par exemple. Ça pourrait ressembler à ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
If KeyCode = 65 Then
ElseIf picFakir.Picture = picFakir.Picture = ("C:\Program Files\eMule\Projet-Jeu Visual Basic\fakir_gauche.gif") Then
picFakir.Picture = LoadPicture("C:\Program Files\eMule\Projet-Jeu Visual Basic\fakir_epee_gauche.gif")
tmrEpee_gauche.Enabled = True
End If

Puis ensuite, il rend "Enabled" un petit timer qui, après un interval, rendera l'image comme elle était, avant que le coup d'épée soit donné.

Le probleme ? Le If pour le picFakir.picture ne fonctionne pas. Le reste, c'est bon. Le personnage bouge et les images viennent avec.

Voici le code complèt:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
'Vers le bas
Private Sub picFakir_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 40 Then
picFakir.Top = picFakir.Top + 120
picFakir.Picture = LoadPicture("C:\Program Files\eMule\Projet-Jeu Visual Basic\fakir_bas.gif")
End If
'Vers le haut
If KeyCode = 38 Then
picFakir.Top = picFakir.Top - 120
picFakir.Picture = LoadPicture("C:\Program Files\eMule\Projet-Jeu Visual Basic\fakir_haut.gif")
End If
'Vers droite
If KeyCode = 39 Then
picFakir.Left = picFakir.Left + 120
picFakir.Picture = LoadPicture("C:\Program Files\eMule\Projet-Jeu Visual Basic\fakir_droite.gif")
End If
'Vers gauche
If KeyCode = 37 Then
picFakir.Left = picFakir.Left - 120
picFakir.Picture = LoadPicture("C:\Program Files\eMule\Projet-Jeu Visual Basic\fakir_gauche.gif")
End If
'Mur = Les 4 limites du programme: Nord-Sud-Ouest-Est(pour ne pas faire traverser le personnage hors limite)
'Mur de droite/////
If picFakir.Left = 7800 Then
picFakir.Left = picFakir.Left - 120
lblMessage.Caption = "Tu ne peux pas passer, retourne vers la gauche."
tmrMessage.Enabled = True
End If
'Mur du haut/////
If picFakir.Top = 0 Then
picFakir.Top = picFakir.Top + 120
lblMessage.Caption = "Tu ne peux pas passer, retourne plus bas."
tmrMessage.Enabled = True
End If
'Mur du bas/////
If picFakir.Top = 6480 Then
picFakir.Top = picFakir.Top - 120
lblMessage.Caption = "Tu ne peux pas passer, retourne plus haut."
tmrMessage.Enabled = True
End If
'Mur de gauche////
If picFakir.Left = 0 Then
picFakir.Left = picFakir.Left + 120
lblMessage.Caption = "Tu ne peux pas passer, retourne vers la droite."
tmrMessage.Enabled = True
End If
'Coup d'épée
If KeyCode = 65 Then
ElseIf picFakir.Picture = picFakir.Picture = ("C:\Program Files\eMule\Projet-Jeu Visual Basic\fakir_gauche.gif") Then
picFakir.Picture = LoadPicture("C:\Program Files\eMule\Projet-Jeu Visual Basic\fakir_epee_gauche.gif")
tmrEpee_gauche.Enabled = True
End If
End Sub
Private Sub tmrMessage_Timer()
lblMessage.Caption = "Bienvenue à toi, Fakir!"
tmrMessage.Enabled = False
End Sub
Private Sub tmrEpee_Timer()
picFakir.Picture = LoadPicture("C:\Program Files\eMule\Projet-Jeu Visual Basic\fakir_gauche.gif")
tmrEpee_gauche.Enabled = False
End Sub
Error:Type mismatch