Salut à tous!
Je bosse en ce moment sur un petit projet sous Unity, et je tente de faire un truc qui ressemble plus à du bidouillage qu'autre chose mais bon...
Voilà: une fois le jeu compilé pour WebGL, tout est en JS natif. Je peux déplacer le personnage avec les flèches droite/gauche. J'aimerais rajouter un script directement à l'index.html pour catch le clic droit et le transformer en keydown droit, pareil pour le clic gauche.
En dehors du fait que l'on peut se demander à quoi ça sert, c'est un vrai défi. J'arrive bien a trigger un keydown quand je clic droit, mais au lieu d'avancer un petit peu, le personnage avance en continu comme si je restais appuyé.
Je vous laisse le script en C# qui permet les mouvements du personnage (le script est volontairement basique pour les besoins de l'exercice) et le script en JS que je rajoute après.
Code csharp : 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 using UnityEngine; using System.Collections; public class move : MonoBehaviour { public float Speed = 5f; Rigidbody2D m_Body; void Start () { } void Awake() { m_Body = GetComponent<Rigidbody2D> (); } void Update () { if(Input.GetKey(KeyCode.RightArrow)) { transform.position += Vector3.right * Speed * Time.deltaTime; } if(Input.GetKey(KeyCode.LeftArrow)) { transform.position += Vector3.left * Speed * Time.deltaTime; } } }
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var ev = document.createEvent('KeyboardEvent'); ev.initKeyEvent('keydown', true, true, window, false, false, false, false, 39, 0); document.click = function() { document.body.dispatchEvent(ev); };
Partager