Creare Videogiochi - Game Developer
Problema con controllo per vedere se il tocco è nel collider - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Unity3D Italia (https://www.making-videogames.net/giochi/Forum-Unity3D-Italia)
+--- Forum: Richieste di Aiuto per Unity 3D (https://www.making-videogames.net/giochi/Forum-Richieste-di-Aiuto-per-Unity-3D)
+--- Discussione: Problema con controllo per vedere se il tocco è nel collider (/thread-Problema-con-controllo-per-vedere-se-il-tocco-%C3%A8-nel-collider)



Problema con controllo per vedere se il tocco è nel collider - davidecreatoreapp - 15-07-2015

Ciao a tutti, ho un problema con uno script per controllare se il touch è all'interno del collider. Credo il problema sia lo script e non il collider perché ho provato più volte a modificarlo ma non ho risolto nulla.

Script (in Unityscript):

var ScrittaStart : GameObject;
var ScrittaSettings : GameObject;
var AudioSetting : GameObject;
var TitleSetting : GameObject;
var ButtonExit : GameObject;
var SfondoSetting : GameObject;
var punto : Vector3;
var PosPunto : Vector2;

function Update()
{
if(Input.touchCount >0)
{
punto = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
PosPunto = new Vector2(punto.x, punto.y);
if(gameObject.GetComponent.<Collider2D>().bounds.Contains(PosPunto))
{
ScrittaStart.active = false;
AudioSetting.active = true;
TitleSetting.active = true;
ButtonExit.active = true;
SfondoSetting.active = true;
ScrittaSettings.active = false;
}
}
}


RE: Problema con controllo per vedere se il tocco è nel collider - Zettamax - 15-07-2015

Ciao, per un mio progetto ho gestito in questo modo il sistema touch:

Codice PHP:
private var hit RaycastHit
private var 
ray Ray;

function 
Update()
{

if (
Input.touchCount 1)
{
     
//creo un raggio che parte dalla camera a va fino al punto dove abbiamo toccato
     
ray Camera.main.ScreenPointToRay(Input.touches[0].position);
     
//disegno il raggio in modo da poterlo vedere nell'editor
     
Debug.DrawLine(ray.origin,ray.direction 10);
     
//se tocco qualcosa 
     
if(Physics.Raycast(ray.originray.direction 10,hit))
     {
          
//hit è l'oggetto toccato. Qui posso mettere cosa deve accadere al tocco
     
}
}





RE: Problema con controllo per vedere se il tocco è nel collider - Blackg96 - 16-07-2015

Quello di zettamax è un ottimo sistema, usa quello e metti che se hitti il collider fa un debug in modo da capire se stai toccando il collider


RE: Problema con controllo per vedere se il tocco è nel collider - davidecreatoreapp - 16-07-2015

Ok, grazie proverò al più presto


Problema con controllo per vedere se il tocco è nel collider - davidecreatoreapp - 17-07-2015

Ok, sono riuscito a risolvere, grazie