Bonjour,
Je suis étudiant en première année de Game Design et je dois, dans le cadre d'un Workshop Flash, coder un jeu en AS3.
Le principe du jeu est de pouvoir jouer à deux, sur un écran splitté, seulement lors des premier tests, le joueur 1 avait la priorité sur les touches, empêchant ainsi le second joueur de pouvoir bouger.
J'ai donc fait des recherches, et en effet, j'ai trouvé des jeux flash sur lesquels on peut jouer à deux, sans problèmes. Ces jeux utilisent des librairies, et notre formation en AS3 s'est arrêtée avant que l'on ai le temps de voir la programmation orienté objet, l'utilisation des classe, package etc ...
J'utilise un ENTER_FRAME pour vérifier que les touches du clavier sont enfoncée ou relâchée, qui appellent des fonction composées de switchs qui renvoient des booléennes.
Ma question est donc, est il possible, sans POO, de pouvoir jouer à deux sur le même clavier ? dois-je obligatoirement utiliser une librairie ou un package ou un framework ? si oui comment procéder ?
pour plus de clarté voici mon code, et oui, j'ai essayé d'assigner une fonction pour chaque joueurs, le problème persiste.
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 stage.addEventListener(KeyboardEvent.KEY_DOWN, touchePress); //ECOUTEUR SI TOUCHE APPUYEE stage.addEventListener(KeyboardEvent.KEY_UP, toucheRelache); //ECOUTEUR SI TOUCHE RELACHEE //QUAND TOUCHE ENFONCEE function touchePress (e:KeyboardEvent):void{ switch(e.keyCode){ case 37: ToucheGaucheJ1=true; break; case 39: ToucheDroiteJ1=true; break; case 81: ToucheGaucheJ2=true; break; case 68: ToucheDroiteJ2=true; break; default: break; } numToucheJ1 = e.keyCode; numToucheJ2 = e.keyCode; } //QUAND TOUCHE RELACHEE function toucheRelache (e:KeyboardEvent):void{ switch(e.keyCode){ case 37: ToucheGaucheJ1=false; break; case 39: ToucheDroiteJ1=false; break; case 81: ToucheGaucheJ2=false; break; case 68: ToucheDroiteJ2=false; break; default: break; } numToucheJ1 = 0; numToucheJ2 = 0; }
d'avance merci
Partager