[RESOLU][DB-AL] Unity 2D-Viseur arme semi-fonctionnel
Publié : 27 Août 2018 23:13
Bonjour,
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:
Encore merci à vous pour votre aide et votre soutient
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 ();
}
}
}