Je suis entrain de porter mon jeu sur android, et je souhaite que lorsque l'on touche l'écran, l'arme pointe l'endroit et tire. Ceci est chose faite.
Le problème, c'est que cela s'applique à tous l'écran, et j'aimerais faire une "zone morte", c'est à dire que lorsque l'on souhaite déplacer le personnage et que l'on bouge le joystick, l'arme ne se mette pas à tirer dans la direction du joystick. Voici à quoi ressemble l'interface (elle est encore en développement): https://drive.google.com/open?id=1jJ9IR ... EHxKLBgwYj
En gros, la zone rouge est ce que j'appelle la "zone morte". La zone verte et celle où l'on peut appuier pour tirer.
Voici également le script du curseur:
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class MousePositionCursor : MonoBehaviour{
Vector3 posMouse;
public bool useController;
public static Weapon weapon;
// Use this for initialization
void Awake()
{
}
// Update is called once per frame
void Update()
{
if (!useController)
posMouse = Camera.main.ScreenToWorldPoint(Input.mousePosition);
posMouse.z = 0;
gameObject.transform.position = posMouse;
if (useController) {
Vector2 playerDirection = Vector3.right * Input.GetAxisRaw ("RHorizontal");
if (playerDirection.sqrMagnitude > 0.0f) {
transform.rotation = Quaternion.LookRotation(playerDirection, Vector3.up);
}
if (Input.GetKeyDown (KeyCode.Joystick1Button10))
weapon.Shoot ();
}
}
}