[Tutorial] Unity + Android #2



[Tutorial] Unity + Android  [Aulas + Complementos, scripts e Asset's]

PARTE #2
Seja bem vindo a nossa segunda aula de Unity + Android nessa aula aqui vamos aprender a reconhecer diferentes formas de toque na tela e veremos também, como reconhecer toque em objetos na cena.
veja a aula completa no video abaixo:




segue abaixo os códigos utilizados na aula.

Primeiro vamos la, nessa aula aqui nos acrescentamos mais coisas no script de toque na tela, aprendemos a verificar se o usuário esta com o dedo na tela, ou se ele esta arrastando e outras coisas, o código completo esta logo abaixo.
#pragma strict
var tocou = "nada";
var texto = "vazio";


function Start () {

}

function Update () {


   if (Input.touchCount > 0) {
       print(Input.touchCount);
   }
   
   if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began) {
    texto ="toucou na tela";
   }

   if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) {
    texto ="arrastou o dedo";
   }
   
   
    if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Ended) {
    texto ="tirou o dedo";
   }
     
     
}     

function OnGUI () {
  GUI.Label (Rect (10, 10, 300, 20), "quantida de toques: "+Input.touchCount);
  GUI.Label (Rect (10, 50, 300, 20), "toque botao: " + tocou);
  GUI.Label (Rect (200, 10, 600, 20), "acontecendo: " + texto);

  
   if (GUI.Button(Rect(10,150,100,100),"toque")){
      tocou = "ok";
   }
  
}

O próximo código serve para reconhecer toques em objetos que estão na cena, podemos verificar se arrastamos o dedo ou se colocamos o dede em cima do objeto e diversas outras ações.

#pragma strict

var texto =" vazio";

function Start () {

}

function Update () {

  
for(var i:int =0; i < Input.touches.Length; i++){ // quantos toques voce tem ??

var touch:Touch=Input.touches[i]; //o toque
var ray = Camera.main.ScreenPointToRay (Input.GetTouch(i).position);
var hit:RaycastHit =new RaycastHit ();

 if(Physics.Raycast(ray,hit,1000)){
  if(hit.collider.gameObject ==this.gameObject){
   
   switch (touch.phase) {
   
    case TouchPhase.Began: // se o toque começar
    texto = "tocou no objeto"; 
       break;
    
      case TouchPhase.Moved: // se o toque começar
        texto = "arrastou o dedo no objeto"; 
      break;
   
   }
  
  }

 }


}


}


function OnGUI () {
  GUI.Label (Rect (200, 200, 600, 20), "objeto touch: " + texto);
  

  
}

 Bom terminamos nossas aulas básicas de desenvolvimento em Android, o que você aprendeu nessas duas ultimas aulas será o suficiente para prosseguir em um projeto, nas próximas aulas vamos começar a desenvolver um game utilizando tudo o que foi ensinado até o momento e um pouco mais ^_^.



Aula Anterior
http://idbgamedev.blogspot.com.br/2013/09/tutorial-unity-android-aulas.html

Comentários