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:
Error:Type mismatch
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
Partager