SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Sistema de Trafego de Carros e Pedestres!
Como retornar "false" se um objeto não existir?
[Alpha Android] - Night Hunter DevLog - Action RPG (23 de julho de 2017) Baixe!
Como faz a geração de terreno aleatório???
[TUTORIAL] Camera orbital com zoom (scroll)
Bugs na textura
Vagas para o Naufrágio, um jogo sobrevivência que estou desenvolvendo
Update desenvolvimento do meu jogo Epic Survival (Re Survival :D)
O que voces esperam em um jogo onde voce e um peixe???
[Equipe] Equipe para jogo tower defense low poly
COMO FAZER UM SISTEMA DE PARKOUR (SEM ANIMACAO) IDEIAS
Arrastar um botão ao manter o mouse pressionado
[DUVIDA]Como usar o setActive no photon
como reconhecer a ''face'' de uma mesh da agua
Diminuir a velocidade do veiculo Ativa um setActive
Como coloco video do youtube
Oque acham dessa Meia Historia para meu jogo de sobrevivencia!
PESSOAL PRA VOCÊS OQUE TEM QUE TER EM UM JOGO DE SOBREVIVENCIA?
Duvidas sobre a criação de jogos para celular
Grupo de desenvolvimento no Discord
Ajuda em Script de colisao na unity
Dúvida de Botões mobile, no c#???
[RESOLVIDO] jogo buga a textura (manchas azuis e vermelhas)
ROTACIONAR NO ÂNGULO DO GAMEOBJECT
dúvida sobre resolução para mobile
[RESOLVIDO] CAMERA NÃO VISUALIZA LENS FLARE
Ajuda com scripts de inimigo e player'' interação de zumbi e player''
como abrir o app de email a partir de um jogo unity ?
[DÚVIDA] [2D] ALTERAR SPRITE SEM PRECISAR IMPORTAR DE NOVO
Script para Câmera em primeira pessoa.
[TUTORIAL] Luz Principal,Luz de Freio,Piscas para Carro,Moto,Caminhão,Ônibus,Etc...
Bug Unity ?
Criar Cidade Para Game
(DUVIDA)PlayerPrefs
[TUTORIAL] Suspensão de carro com SLIDER
[TUTORIAL] Script de arma automatica
[_____CRONOGRAMA DO CANAL_____]
Pulo 2D
Procurar um Índice em uma lista
Alguem me recomenda uma versao estavel e atualizada da unity :C
[dúvida] Comando tranform.rotatante.x não funcionando direito.
[tutorial]Teleporte com tempo.
Laser 2D
Procuro equipe para criar jogo multiplayer online de sobrevivência.
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
Script não detecta certos comandos como "Input" e "GetKeyDown"
Duvida com Transform.position
Rotação apontando para um Objeto.
MS Vehicles Free em vídeo de melhores assets
Marcos Elias Proton Bus Simulator AJUDA COM SISTEMA DE MAPA CONTÍNUO
Desativar Terrain
Sistema de corrida
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Como resolver
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Dúvidas Script
problemas com rb.velocity e gravidade
[TUTORIAL] Script de pulo para jogos 3D em geral (Unity - C#)
3D, Player gruda na parede
Como puxar várias animações ao mesmo tempo
[TUTORIAL] Camera orbital para android (TOUCH)
[DÚVIDA] SITE DE MODELOS 3D PARA USO GRATUITO
[TUTORIAL] C# .NET | Visual Studio - conexão com banco de dados MySQL
COMO FAZER UM SISTEMA DE VIAGEM IGUAL (No Man's Sky)
Gerador de mesh procedual
Nova atualização do meu rpg De açao Opinioes
[TUTORIAL] Sistema de escolha de personagens
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[TUTORIAL] C# .NET | Launcher simples que acessa um site.
[TUTORIAL] - Como fazer download da OBB do jogo, in-game! (Android)
Variavel UI
Apk Google Play
[DICA] - Traduzir o assistente de downloads do "Google Play OBB Downloader"
Duvidas sobre programação em C#
Problema ao renderizar dois lado de uma malha (blender)
Novo jogo survival sendo feito por mim
[TUTORIAL] - 8 Dicas de otimização para mobile (Tópico 2) (Android)
[TUTORIAL] Como criar suas texturas Normal Map, Displacement Map e Bump Map (Photoshop)
[DIVULGAÇÃO]Avaliem Meu Jogo Na Play Store!
Estudo Game da Carro Mobile
[TUTORIAL] C# .NET| Instalar Cargas de trabalho/Componentes Individuais no Visual Studio
Instanciar objetos na mão do Player
[____EFICIÊNCIA DO FÓRUM____]
[TUTORIAL] Aprenda a programar em C# des do começo :D
[TUTORIAL] ENVIAR A OPINIÃO DO SEU JOGADOR, PARA UM SERVIDOR
[TUTORIAL] Objeto flutuar como se estivesse no espaço ou na água
[DESENVOLVEDORES MOBILE] - NOVA AREA DO FÓRUM DEDICADA AO MOBILE! (Android e iOS)
[DESENVOLVIMENTO C# .NET] - NOVA AREA DO FÓRUM DEDICADA AO C# .NET!
Versão Unity
Como fazer um FAQ?
[RESOLVIDO] PLAYER ANDAR MAIS DEVAGAR AO APERTAR SHIFT
[TUTORIAL] Movimento simples para objetos filiados ao FPSController da Unity por código.
[Resolvido] Como animar a camera do FPSController da unity ? sem dar bug...
Tiro sistema dano
Duvida em Disparo em jogo de Fps.
Divulgaçao de Battle of Worlds
[duvida] Easy Roads
[DÚVIDA] TOCAR ANIMAÇÕES EM SEU TEMPO CORRETO
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
Hoje à(s) 1:08 am
Ontem à(s) 11:24 pm
Ontem à(s) 10:55 pm
Ontem à(s) 10:16 pm
Ontem à(s) 9:02 pm
Ontem à(s) 7:53 pm
Ontem à(s) 7:34 pm
Ontem à(s) 7:32 pm
Ontem à(s) 5:36 pm
Ontem à(s) 5:34 pm
Ontem à(s) 4:14 pm
Ontem à(s) 2:52 pm
Ontem à(s) 12:00 pm
Ontem à(s) 10:51 am
Ontem à(s) 10:42 am
Ontem à(s) 6:00 am
Ontem à(s) 5:35 am
Ontem à(s) 5:32 am
Ontem à(s) 5:30 am
Ontem à(s) 1:56 am
Sab Jul 22, 2017 11:48 pm
Sab Jul 22, 2017 11:30 pm
Sab Jul 22, 2017 9:42 pm
Sab Jul 22, 2017 8:31 pm
Sab Jul 22, 2017 7:30 pm
Sab Jul 22, 2017 7:19 pm
Sab Jul 22, 2017 4:05 pm
Sab Jul 22, 2017 3:04 pm
Sab Jul 22, 2017 2:35 pm
Sab Jul 22, 2017 12:54 pm
Sab Jul 22, 2017 11:10 am
Sab Jul 22, 2017 10:49 am
Sab Jul 22, 2017 9:53 am
Sab Jul 22, 2017 8:48 am
Sab Jul 22, 2017 6:19 am
Sab Jul 22, 2017 6:17 am
Sab Jul 22, 2017 3:51 am
Sab Jul 22, 2017 1:45 am
Sex Jul 21, 2017 11:57 pm
Sex Jul 21, 2017 11:33 pm
Sex Jul 21, 2017 10:37 pm
Sex Jul 21, 2017 10:33 pm
Sex Jul 21, 2017 10:24 pm
Sex Jul 21, 2017 9:29 pm
Sex Jul 21, 2017 9:27 pm
Sex Jul 21, 2017 9:25 pm
Sex Jul 21, 2017 9:17 pm
Sex Jul 21, 2017 9:15 pm
Sex Jul 21, 2017 9:08 pm
Sex Jul 21, 2017 9:07 pm
Sex Jul 21, 2017 9:00 pm
Sex Jul 21, 2017 8:57 pm
Sex Jul 21, 2017 8:52 pm
Sex Jul 21, 2017 8:49 pm
Sex Jul 21, 2017 8:47 pm
Sex Jul 21, 2017 8:38 pm
Sex Jul 21, 2017 8:29 pm
Sex Jul 21, 2017 8:24 pm
Sex Jul 21, 2017 8:23 pm
Sex Jul 21, 2017 8:03 pm
Sex Jul 21, 2017 7:19 pm
Sex Jul 21, 2017 7:05 pm
Sex Jul 21, 2017 5:42 pm
Sex Jul 21, 2017 3:56 pm
Sex Jul 21, 2017 10:25 am
Sex Jul 21, 2017 7:35 am
Qui Jul 20, 2017 11:48 pm
Qui Jul 20, 2017 11:48 pm
Qui Jul 20, 2017 7:32 pm
Qui Jul 20, 2017 7:26 pm
Qui Jul 20, 2017 6:36 pm
Qui Jul 20, 2017 4:45 pm
Qui Jul 20, 2017 4:43 pm
Qui Jul 20, 2017 4:36 pm
Qui Jul 20, 2017 4:26 pm
Qui Jul 20, 2017 2:50 pm
Qui Jul 20, 2017 10:03 am
Qui Jul 20, 2017 9:07 am
Qua Jul 19, 2017 11:42 pm
Qua Jul 19, 2017 10:31 pm
Qua Jul 19, 2017 10:12 pm
Qua Jul 19, 2017 9:40 pm
Qua Jul 19, 2017 7:26 pm
Qua Jul 19, 2017 6:28 pm
Qua Jul 19, 2017 6:14 pm
Qua Jul 19, 2017 5:48 pm
Qua Jul 19, 2017 2:26 pm
Qua Jul 19, 2017 2:21 pm
Qua Jul 19, 2017 11:49 am
Qua Jul 19, 2017 6:04 am
Ter Jul 18, 2017 9:31 pm
Ter Jul 18, 2017 9:03 pm
Ter Jul 18, 2017 8:56 pm
Ter Jul 18, 2017 8:37 pm
Ter Jul 18, 2017 8:25 pm
Ter Jul 18, 2017 6:13 pm
Ter Jul 18, 2017 5:17 pm
Ter Jul 18, 2017 4:55 pm
Ter Jul 18, 2017 1:16 pm
Duarte
Joaopm1
marcos4503
Madness
Gregory2017
Yagogomes
Onagro
joabr
IanLuan
IanLuan
rafaelllsd
ManoTrevor
fecirineu
thzin
thzin
vermelhinho
vermelhinho
vermelhinho
vermelhinho
dimmuo
Weverton Borges da Silva
hamerom
Extreme Craft
marcos4503
marcos4503
Diego Felix
Robinsandi
marcos4503
IanLuan
Gaimo
bitgames
sidney1234
Duarte
Zecandy
Gabriel César O
Gabriel César O
Joaopm1
roger224
Joaopm1
marcos4503
arthearthutr
arthearthutr
roger224
Gaimo
MarcosSchultz
xXGianlucksXx
MarcosSchultz
Annko
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
thzin
Gabriel César O
Gabriel César O
weslleyFx
ManoTrevor
Madness
dstaroski
PauloFR
MarcosSchultz
Mateus2583
ubroly
marcos4503
marcos4503
marcos4503
poyser
hetrodo_gamer
zMicael
Édipo
Madness
marcos4503
Gabriel César O
PauloFR
Dom3000
PauloFR
Callyde Jr
Callyde Jr
ManoTrevor
marcos4503
marcos4503
Weverton Borges da Silva
marcos4503
Gabriel César O
PauloFR
PauloFR
Bruno
Duarte
Dom3000
Gabriel César O
Gabriel César O
MarcosSchultz

Como deixar o movimento suave?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

DÚVIDA Como deixar o movimento suave?

Mensagem por Hardencio em Sex Set 30, 2016 1:15 am

Fala guris,

To usando um tipo de movimentação tipo um pouco de cada kkk por exemplo: Cada vez que quero que o player ande ele só vai andar um pouco.
Código:
transform.position = new Vector3 (distancePulo, 0, 0);

To usando isso pra movimentar, porem ele movimenta instantaneamente até o local que eu quero. Gostaria de saber como fazer ele ir do ponto que ele está até a distancia determinada de uma maneira suave. (Que de pra ver ele indo)

Código:
void swipe (){
      Vector2 distance = endPos - startPos;
      if(Mathf.Abs (distance.x) > Mathf.Abs (distance.y)){
         Debug.Log ("Horizontal Swpie");
         if (distance.x > 0 && gameObject.transform.position == endPos2) {
            Debug.Log ("Right");
            transform.position = new Vector3 (distancePulo, 0, 0);
}
}
}
avatar
Hardencio
MembroAvançado

Masculino PONTOS : 1021
REPUTAÇÃO : 21
Áreas de atuação : Inermis Studios
Respeito as regras :

Ver perfil do usuário https://www.facebook.com/inermisstudios/

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como deixar o movimento suave?

Mensagem por MarcosSchultz em Sex Set 30, 2016 3:59 pm

avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9288
REPUTAÇÃO : 1559
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como deixar o movimento suave?

Mensagem por Hardencio em Sex Set 30, 2016 8:19 pm

Fiz essa parada do Lerp, porem quando movo para os outros lado ele sempre vai na lata até a posição... 

Código:
transform.position = Vector3.Lerp (transform.position, new Vector3(1,0,0), 1);

Queria que cada swipe que eu faço, ele ande no transform o valor 1,  tipo acrescentando mais um...
Como assim: 
Código:
//esse endPos é um Vector3
endPos = new Vector3(transform.position.x, transform.position.y, transform.position.z + distanciaPulo);
Porem nesse script que estou usando não consigo usar esse tipo de movimento.
avatar
Hardencio
MembroAvançado

Masculino PONTOS : 1021
REPUTAÇÃO : 21
Áreas de atuação : Inermis Studios
Respeito as regras :

Ver perfil do usuário https://www.facebook.com/inermisstudios/

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como deixar o movimento suave?

Mensagem por George Lucas Vieira em Sab Out 01, 2016 12:58 pm

Multiplique por Time.deltaTime.
Código:
transform.position = Vector3.Lerp (transform.position, new Vector3(1,0,0), 5 * Time.deltaTime);
avatar
George Lucas Vieira
Moderador

Masculino PONTOS : 730
REPUTAÇÃO : 125
Idade : 14
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como deixar o movimento suave?

Mensagem por Hardencio em Sab Out 01, 2016 1:26 pm

Não funciona, pq ele sempre vai pra essa posição ali do transform. Quero que ele adicione um valor no transform a cada movimento. Por exemplo, se eu movo para a direita, quero que meu personagem vá para a direita no transform, se quero que ele vá pra cima mesma coisa para cima. Sempre acrescentando um valor no transform. Igual o jogo Crossy Road.

Vou mostrar bem certo o que estou tentando fazer. 

Basicamente esse script está funcionando, porem o touch dele  esta bem ruim. 
Código:
using UnityEngine;
using System.Collections;

public class TesteTouch : MonoBehaviour {

   float lerpTime;
   float currentLertTime;
   float perc = 1;
   [Range(0.05f,50)] public float sensibilidade = 0.1f;
   private bool podeMover;
   Vector3 startPos;
   Vector3 endPos;

   public float forcaPulo;

   bool firstInput;
   public bool justJump;

   public float distanciaPulo = 1f;

   private float ponteiroY, ponteiroX;

   public static bool frente;
   public static bool tras;
   public static bool dir;
   public static bool esq;

   public static int ultimo;

   void setMoves(){
      frente = tras = dir = esq = false;
   }
   void Start (){
      frente = tras = dir = esq = true;
   }
      
   void Update(){
      ponteiroX = ponteiroY = 0;
      if (Input.touchCount > 0.8f ){
         if (perc == 1) {
            lerpTime = 1;
            currentLertTime = 0;
            firstInput = true;
            justJump = true;
         }
         if (Mathf.Abs (Input.touches [0].deltaPosition.y) > sensibilidade) {
         ponteiroY = Input.touches [0].deltaPosition.y;
         } else {
            ponteiroY = 0;
         }
         if (Mathf.Abs (Input.touches [0].deltaPosition.x) > sensibilidade) {
            ponteiroX = Input.touches [0].deltaPosition.x;
         } else {
            ponteiroX = 0;
         }
      }
      else{
      podeMover = true;
   }
      startPos = gameObject.transform.position;

      if (ponteiroY > 0 && podeMover == true && gameObject.transform.position == endPos && frente == true) {
         //justJump = true;
         gameObject.transform.rotation = Quaternion.Euler (0, 180, 0);
         endPos = new Vector3(transform.position.x + distanciaPulo, transform.position.y, transform.position.z);
         podeMover = false;
         //ultimo = 1;
         Debug.Log ("No y > 0  heim");
      }
      if (ponteiroY < 0 && podeMover == true && gameObject.transform.position == endPos && tras == true) {
         //justJump = true;
         gameObject.transform.rotation = Quaternion.Euler (0, 0, 0);
         endPos = new Vector3(transform.position.x - distanciaPulo, transform.position.y, transform.position.z);
         podeMover = false;
         //ultimo = 0;
         Debug.Log ("No y < 0heim");
      }

      if (ponteiroX > 0  && podeMover == true && gameObject.transform.position == endPos && dir == true) {
         //justJump = true;
         gameObject.transform.rotation = Quaternion.Euler (0, -90, 0);
         endPos = new Vector3(transform.position.x, transform.position.y, transform.position.z - distanciaPulo);
         podeMover = false;
         //ultimo = 2;
         Debug.Log ("No X > 0 heim");
      }
      if (ponteiroX < 0 && podeMover == true && gameObject.transform.position == endPos && esq == true) {
         //justJump = true;
         gameObject.transform.rotation = Quaternion.Euler (0, 90, 0);
         endPos = new Vector3(transform.position.x, transform.position.y, transform.position.z + distanciaPulo);
         podeMover = false;
         //ultimo = 3;
         Debug.Log ("No X < 0 heim");
      }
      if (firstInput == true) {
         currentLertTime += Time.deltaTime * 4;
         perc = currentLertTime / lerpTime;
         gameObject.transform.position = Vector3.Lerp (startPos, endPos, perc);
         if (perc > 0.8) {
            perc = 1;
         }
         if (Mathf.Round (perc) == 1) {
            
            justJump = false;

            }
         }
      }
   }

Estou tentando fazer esse script a cima, funcionar nesse aqui em baixo. Porem não to conseguindo pq ele da uns bugs locos no jogo, tipo ele some da tela, ou a camera não segue mais ele, treme tudo..etc

Código:
using UnityEngine;
using System.Collections;

public class TesteDeMoves : MonoBehaviour {

   public float maxTime;
   public float minSwipeDist;

   float startTime;
   float endTime;

   Vector3 startPos;
   Vector3 endPos;

   Vector3 vetorTeste;
   Vector3 vetorTeste2;


   float swipeDistace;
   float swpieTime;

   public float pulo;
   public float distancePulo;

   float lerpTime;
   float currentLertTime;
   float perc = 1;
   bool firstInput;
   public bool justJump;

   public bool andarDireita;

   public static bool frente;
   public static bool tras;
   public static bool dir;
   public static bool esq;

   public static int ultimo;

   void setMoves(){
      frente = tras = dir = esq = false;
   }
   void Start (){
      frente = tras = dir = esq = true;
      andarDireita = false;
   }

   void Update(){
      if (Input.touchCount > 0) {
         Touch touch = Input.GetTouch (0);
         if (touch.phase == TouchPhase.Began) {
            startTime = Time.time;
            startPos = touch.position;
         }else if (touch.phase == TouchPhase.Ended) {
            endTime = Time.time;
            endPos = touch.position;

            swipeDistace = (endPos - startPos).magnitude;
            swpieTime = endTime - startTime;

            if (swpieTime < maxTime && swipeDistace > minSwipeDist) {
               Vector2 distance = endPos - startPos;
               if (Mathf.Abs (distance.x) > Mathf.Abs (distance.y)) {
                  Debug.Log ("Horizontal Swpie");
                  if (distance.x > 0 && dir == true) {
                     Debug.Log ("Right");
                     gameObject.transform.rotation = Quaternion.Euler (0, -90, 0);
                     //transform.position += new Vector3 (0, 0, -distancePulo);
                     transform.position = Vector3.Lerp (transform.position, new Vector3(1,0,0), 5 * Time.deltaTime);
                     ultimo = 2;
                  }
                  if (distance.x < 0 && esq == true) {
                     Debug.Log ("Letf");
                     gameObject.transform.rotation = Quaternion.Euler (0, 90, 0);
                     transform.position += new Vector3 (0, 0, distancePulo);
                     ultimo = 3;
                  }
               } else if (Mathf.Abs (distance.x) < Mathf.Abs (distance.y)) {
                  Debug.Log ("Vertical Swpie");
                  if (distance.x > 0 && frente == true) {
                     Debug.Log ("Up");
                     gameObject.transform.rotation = Quaternion.Euler (0, 180, 0);
                     transform.position += new Vector3 (distancePulo, 0, 0);
                     ultimo = 1;
                  }
                  if (distance.x < 0 && tras == true) {
                     Debug.Log ("Down");
                     gameObject.transform.rotation = Quaternion.Euler (0, 0, 0);
                     transform.position += new Vector3 (-distancePulo, 0, 0);
                     ultimo = 0;
                     }
                  }
               }
            }
         }
      }
   }

Queria fazer funcionar nesse script aqui. Oq faz o outro
avatar
Hardencio
MembroAvançado

Masculino PONTOS : 1021
REPUTAÇÃO : 21
Áreas de atuação : Inermis Studios
Respeito as regras :

Ver perfil do usuário https://www.facebook.com/inermisstudios/

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como deixar o movimento suave?

Mensagem por MarcosSchultz em Seg Out 03, 2016 5:32 pm

ué, mas neste último script você só colocou o Lerp em um dos transform.position...

um segundo tem "+=", tem um outro que é só setado O.o
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9288
REPUTAÇÃO : 1559
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como deixar o movimento suave?

Mensagem por Hardencio em Seg Out 03, 2016 7:59 pm

Não to entendendo...

Se eu fizer a mesma coisa do script que está funcionando no meu novo script ele não funciona..por causa que esta diferente as coisas do touch. Ele dá umas bugadas por causa dos Vetores endPos e starPos é isso que não estou conseguindo fazer. Eu não sei oq está acontecendo..mas queria que funcionasse de alguma forma o Lerp pra não ficar o movimento na lata. Como que faço para funcionar o lerp nesse script? 

Código:
using UnityEngine;
using System.Collections;

public class TesteDeMoves : MonoBehaviour {

 public float maxTime;
 public float minSwipeDist;

 float startTime;
 float endTime;

 Vector3 startPos;
 Vector3 endPos;

 float swipeDistace;
 float swpieTime;

 public float distancePulo;

 public bool andarDireita;

 public static bool frente;
 public static bool tras;
 public static bool dir;
 public static bool esq;

 public static int ultimo;

 void setMoves(){
 frente = tras = dir = esq = false;
 }
 void Start (){
 frente = tras = dir = esq = true;
 andarDireita = false;
 }

 void Update(){
 if (Input.touchCount > 0) {
 Touch touch = Input.GetTouch (0);
 if (touch.phase == TouchPhase.Began) {
 startTime = Time.time;
 startPos = touch.position;
 }else if (touch.phase == TouchPhase.Ended) {
 endTime = Time.time;
 endPos = touch.position;

 swipeDistace = (endPos - startPos).magnitude;
 swpieTime = endTime - startTime;

 if (swpieTime < maxTime && swipeDistace > minSwipeDist) {
 Vector2 distance = endPos - startPos;
 if (Mathf.Abs (distance.x) > Mathf.Abs (distance.y)) {
 Debug.Log ("Horizontal Swpie");
 if (distance.x > 0 && dir == true) {
 Debug.Log ("Right");
 gameObject.transform.rotation = Quaternion.Euler (0, -90, 0);
 transform.position += new Vector3 (0, 0, -distancePulo);
 //transform.position = Vector3.Lerp (transform.position, new Vector3(1,0,0), 5 * Time.deltaTime);
 ultimo = 2;
 }
 if (distance.x < 0 && esq == true) {
 Debug.Log ("Letf");
 gameObject.transform.rotation = Quaternion.Euler (0, 90, 0);
 transform.position += new Vector3 (0, 0, distancePulo);
 ultimo = 3;
 }
 } else if (Mathf.Abs (distance.x) < Mathf.Abs (distance.y)) {
 Debug.Log ("Vertical Swpie");
 if (distance.x > 0 && frente == true) {
 Debug.Log ("Up");
 gameObject.transform.rotation = Quaternion.Euler (0, 180, 0);
 transform.position += new Vector3 (distancePulo, 0, 0);
 ultimo = 1;
 }
 if (distance.x < 0 && tras == true) {
 Debug.Log ("Down");
 gameObject.transform.rotation = Quaternion.Euler (0, 0, 0);
 transform.position += new Vector3 (-distancePulo, 0, 0);
 ultimo = 0;
 }
 }
 }
 }
 }
 }
 }

Lembrando que é um movimento estilo crossy road ou subway surfers.

Esse script de swipe fiz a partir desse tutorial: https://www.youtube.com/watch?v=TEROHR1XTaY
avatar
Hardencio
MembroAvançado

Masculino PONTOS : 1021
REPUTAÇÃO : 21
Áreas de atuação : Inermis Studios
Respeito as regras :

Ver perfil do usuário https://www.facebook.com/inermisstudios/

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum