Unity Spain
Post Antiguos => General (Antiguo) => Mensaje iniciado por: ochoag en Abril 13, 2016, 08:17:22 PM
Tengo un pequeño problema cuando toco la pantalla y disparo, lo que pasa es que se activa el touch cuando muevo el joystick y dispara continuamente mientras lo muevo como podria hacerle para que no dispare con el joystick y si dispare cuando toco otra parte de la pantalla.Este metodo es el que utilizo para disparar: Touch myTouch = Input.GetTouch(0);
Touch[] myTouches = Input.touches;
for (int i = 0; i < Input.touchCount; i++)
{
Instantiate(disparo, arma1.position, disparo.rotation);
Instantiate(disparo2, arma2.position, disparo2.rotation);
Instantiate(disparo3, arma3.position, disparo3.rotation);
AudioSource audio = GetComponent<AudioSource>();
audio.Play(); }Esto es lo que utilizo para mover la nave mediante un joystick:using UnityEngine;
using System.Collections;
using UnityStandardAssets.CrossPlatformInput;
public class MoverNave : MonoBehaviour { float sense = 5;
float vel = 15;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
transform.Translate (new Vector3 (0, CrossPlatformInputManager.GetAxis ("Vertical")) * Time.deltaTime * vel);
float y = CrossPlatformInputManager.GetAxis("Mouse X") * sense;
transform.Rotate(0,y,0); transform.Translate (new Vector3 (CrossPlatformInputManager.GetAxis ("Horizontal"),0) * Time.deltaTime * vel);
float x = CrossPlatformInputManager.GetAxis("Mouse X") * sense;
transform.Rotate(x,0,0);
}
}Qué podria hacer al respecto?Si me pudieran ayudar se los agradeceria mucho.
El problema es que los touches no los filtras. Pillas todos los que vengan independientemente de la zona de pantalla.En el touch tienes una propiedad "position" que te indica en píxeles desde donde se lanzó. Habría que filtrar pues, un Rect por ejemplo que sería la zona del joystick, y que todo lo que salga fuera si lo ejecutes como disparo y el resto no.
IRobb eres el *** amo
[quote author=iRobb" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35641" data-ipsquote-contentcommentid="129630 date=1460578841]El problema es que los touches no los filtras. Pillas todos los que vengan independientemente de la zona de pantalla.En el touch tienes una propiedad "position" que te indica en píxeles desde donde se lanzó. Habría que filtrar pues, un Rect por ejemplo que sería la zona del joystick, y que todo lo que salga fuera si lo ejecutes como disparo y el resto no. [/quote]Como podría hacer eso exactamente, bueno que me expliques mas o menos la idea. Y es sobre el script o con el editor? Gracias