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 :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Teleporte do player com outro objeto!
(Duvida)Sistema de estrelas
Manter a última posic de objetos após sair e voltar de cena
Filhos dos filhos
Anti Pirataria
Problema com terreno!
Construção de um save das configurações e ir pro jogo com as config certas
Erros ao tentar build para android!
Duvida na hora da POSTAGEM na PLAY STORE
Auto posicionar objeto
Como dar um clique em um determinado botão através de Script
Vídeo player não mostra nada
Como faço as personagens causarem dano (e vice-versa)?
Dúvida no uso de loop no Unity
Duvida em Python
Preciso de Programadores, Músicos e Modeladores.
Como usar LOD Group para usar no Mass Place Trees
Como Criar um Sistema de Coop? (Photon)
Fighter camera 3D tekken style, boxing style
Erro no Script- "The script needs to derived from MonoBehavior"
[TUTORIAL] Fixed Joint e Spring Joint - Unity 5
Música Grátis
Not a Dream - Formação de Equipe
Como deixar o código mais dinâmico
Duvida Shader para celular
Ideia para algum jogo
Aplicativo não instalado
Tela cheia em android
duvida de raytracing
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[Em Desenvolvimento] Battles of Worlds
[Formação de Equipe] Battles of Worlds
Box Collider 2D Pausando o Jogo.
Como fazer um sistema para conectar objetos?
Jogos Pagos e proteção
[DÚVIDA] sair som do objeto ao pressionar uma tecla
Seleção de personagens sem usar ele como prefab
Duvida Postagem na Play Store
Fazer o player rodar a animação até o final
Ofuscar
Preciso de Ajuda Estou a desenvolver um projeto!
[TUTORIAL] Joystick vistual para mobile
desativa objecto
IDE editor C#
Porque o meu BoxCollider2D não desativa?
Sistema De Skin Na Unity
erro ao abrir projeto na unity 2019.2.0
Jogador Flicando no chão
Mostrar eventos no Inspector
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Algumas Maneiras de Ganhar Dinheiro Com o Blender e Modelagem 3D
[TUTORIAL] Salvar SCORE e substituir caso faça mais pontos.
aplicativo travando
e ai galera to tendo poblema com wheel collider
Shader Editor travando a cada alteração nas propriedades
Tela inteira no Android
Scale Factor de Modelos Faz Diferença Na Performacer do Jogo?
Picos de Queda de FPS!
ERRO NA UNITY, AJUDEM POR FAVOR
Como fazer uma tecla ser pressionado x vezes.
Vamos criar uma comunidade no Discord!
[Projeto em Andamento] Favela Combat - Multiplayer online (Android & iOS)
Como ativar e desativar o Box Collider utilizando o RayCast.
[RESOLVIDO] Player 2D girando ao descer de plataforma
Road Life - Jogo Mundo Aberto RPG
Como parar o spawn aleatório?
[RESOLVIDO] Pêndulo 2D
[RESOLVIDO] Como faço para clicar em um objeto e visualizar, girar...
Crio Ícones Personalizados Para Jogos
Metadados recusados AppleConnect [Screenshots]
Ajuda na criação de um jogo de Xadrez 3D
> Posso achar Bugs facilmente <
Meu Jogo inspirado em resident evil 2 remake
Unity + Photon 2
[RESOLVIDO] tira uma duvida
[TUTORIAL] Campo de visão dos inimigos (Enemy FOV) com Raycast ou OverlapSphere
Contagem de tempo em classes abstratas
Erro ao compilar em webGL
[RESOLVIDO] Animação na Movimentação (Parado, Andar e Correr)
[RESOLVIDO] Parâmetro "Out" não existe (Duvida com Script)
Duvida de movimentação de câmera 2D (Sem personagem)
[RESOLVIDO] Colocando meu jogo para 64 bits
(Animator) Animação bugada no animator!
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
[RESOLVIDO] Porque o Vector2.Distance não está funcionando?
[TRETA BR] GAME QUASE FINALIZADO !
Algumas perguntas sobre cenas e transições
Sistema de "Avaliação" / Probabilidade / Notas
Problema com boxes colliders
Dúvida quando a interferência de uma colisão em um sistema de chute e passe
Bloom no Android
Duvidas ao transformar um GameObjeto em Prefab
Como fazer a câmera voltar à posição (eixo) inicial após largar o botão de mira?
[RESOLVIDO] Som nos números na contagem regressiva
[RESOLVIDO] Como fazer para voltar para a primeira scene?
Dicas de como implementar um sistema de colocação de texturas
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
[RESOLVIDO] Erro ao se connectar ao banco mysql quando gero o game
[JOGO MOBILE] Cubolor Smash (Gratuito na Play Store!)
Ontem à(s) 11:10 pm
Ontem à(s) 11:03 pm
Ontem à(s) 10:19 pm
Ontem à(s) 8:21 pm
Ontem à(s) 7:06 pm
Ontem à(s) 5:54 pm
Ontem à(s) 5:37 pm
Ontem à(s) 5:05 pm
Ontem à(s) 4:07 pm
Ontem à(s) 4:11 am
Ontem à(s) 2:36 am
Ontem à(s) 1:32 am
Ontem à(s) 12:22 am
Dom Set 15, 2019 11:21 pm
Dom Set 15, 2019 8:29 pm
Dom Set 15, 2019 5:52 pm
Dom Set 15, 2019 4:41 pm
Dom Set 15, 2019 3:52 pm
Dom Set 15, 2019 12:42 pm
Dom Set 15, 2019 12:41 pm
Dom Set 15, 2019 11:20 am
Dom Set 15, 2019 1:58 am
Dom Set 15, 2019 12:08 am
Sab Set 14, 2019 8:45 pm
Sab Set 14, 2019 7:55 pm
Sab Set 14, 2019 7:07 pm
Sab Set 14, 2019 7:06 pm
Sab Set 14, 2019 7:05 pm
Sab Set 14, 2019 6:58 pm
Sab Set 14, 2019 5:02 pm
Sab Set 14, 2019 5:00 pm
Sab Set 14, 2019 4:57 pm
Sab Set 14, 2019 1:49 pm
Sab Set 14, 2019 12:37 am
Sex Set 13, 2019 10:58 pm
Sex Set 13, 2019 10:42 pm
Sex Set 13, 2019 8:58 pm
Sex Set 13, 2019 8:33 pm
Sex Set 13, 2019 8:28 pm
Sex Set 13, 2019 8:19 pm
Sex Set 13, 2019 8:17 pm
Sex Set 13, 2019 8:08 pm
Sex Set 13, 2019 8:06 pm
Sex Set 13, 2019 8:04 pm
Sex Set 13, 2019 2:40 pm
Sex Set 13, 2019 5:02 am
Sex Set 13, 2019 4:59 am
Sex Set 13, 2019 4:50 am
Sex Set 13, 2019 4:41 am
Sex Set 13, 2019 4:26 am
Sex Set 13, 2019 4:19 am
Sex Set 13, 2019 4:17 am
Sex Set 13, 2019 3:53 am
Sex Set 13, 2019 3:44 am
Sex Set 13, 2019 3:35 am
Sex Set 13, 2019 3:34 am
Sex Set 13, 2019 3:06 am
Sex Set 13, 2019 2:44 am
Sex Set 13, 2019 2:40 am
Sex Set 13, 2019 2:31 am
Qui Set 12, 2019 9:46 pm
Qui Set 12, 2019 9:46 pm
Qui Set 12, 2019 4:43 pm
Qui Set 12, 2019 3:22 pm
Qui Set 12, 2019 2:50 pm
Qua Set 11, 2019 10:05 pm
Qua Set 11, 2019 9:14 pm
Qua Set 11, 2019 1:16 pm
Qua Set 11, 2019 11:58 am
Qua Set 11, 2019 9:03 am
Qua Set 11, 2019 1:45 am
Ter Set 10, 2019 10:52 pm
Ter Set 10, 2019 6:28 pm
Ter Set 10, 2019 10:12 am
Ter Set 10, 2019 12:38 am
Seg Set 09, 2019 10:04 pm
Seg Set 09, 2019 6:08 pm
Seg Set 09, 2019 2:57 pm
Sab Set 07, 2019 7:23 pm
Sab Set 07, 2019 1:14 pm
Sab Set 07, 2019 12:12 pm
Sex Set 06, 2019 9:06 pm
Sex Set 06, 2019 11:44 am
Qui Set 05, 2019 11:30 pm
Qui Set 05, 2019 10:57 pm
Qui Set 05, 2019 6:26 pm
Qua Set 04, 2019 11:38 pm
Qua Set 04, 2019 9:02 pm
Ter Set 03, 2019 4:42 pm
Ter Set 03, 2019 2:52 pm
Ter Set 03, 2019 12:04 pm
Ter Set 03, 2019 10:14 am
Ter Set 03, 2019 4:26 am
Seg Set 02, 2019 9:02 pm
Seg Set 02, 2019 6:27 pm
Seg Set 02, 2019 5:40 pm
Seg Set 02, 2019 1:50 pm
Seg Set 02, 2019 12:27 pm
Seg Set 02, 2019 6:21 am
NyanHeavyBR
poyser
joffersoju
NKKF
diegopds
lunaticsgames
lucaspoiob
lesgoy
gtcmcsgo
MayLeone
lesgoy
lesgoy
Swordsdragon
joffersoju
victorgx22
LardosJogos
tr4ssh
deikson
Josh123
Samuelostgamer
welberpv2022
JohnRambo
LardosJogos
Hamassfall
SteveRogers
LúcioHenrique098
lesgoy
lesgoy
SteveRogers
Dom3000
Dom3000
Dom3000
Newba
henriquegames501
guimaraf
gcs13
garnios
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
NKKF
MayLeone
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
JohnRambo
dkrazor
recagonlei
CyberPh4ntom
NKKF
TecnoGames
Hamassfall
c4stor
Magnatah
numb123
JohnRambo
LardosJogos
RafaelSquid1
billybmx
katymarques
hao3726
MayLeone
Socates
LardosJogos
Newba
SteveRogers
garnios
JohnVitor
garnios
Hamassfall
ruanzikaad
Magnatah
Mancha
SteveRogers
gabrimo
lesgoy
garnios
SteveRogers
garnios
SteveRogers
SteveRogers
QAGames
luizjeff2010
Callyde Jr

Clicar em um Sprite e realizar uma ação

Ir em baixo

DÚVIDA Clicar em um Sprite e realizar uma ação

Mensagem por joffersoju em Sab Ago 17, 2019 9:30 pm

Oi...

Sei que posso clicar em um gameObject primitivo como cubo, plano ou outro na tela e fazer uma ação no próprio ou em outro...

Mas, não consigo fazer com Sprite 2D ou 3D... sendo assim, pergunto...

É possível fazer uma ação através de um script ao se clicar em um sprite?

Att

joffersoju
Membro
Membro

PONTOS : 535
REPUTAÇÃO : 1
Respeito as regras : Clicar em um Sprite e realizar uma ação WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Clicar em um Sprite e realizar uma ação

Mensagem por MarcosSchultz em Sab Ago 17, 2019 11:03 pm

MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 62322
REPUTAÇÃO : 2353
Idade : 23
Áreas de atuação : Administrador do fórum
Respeito as regras : Clicar em um Sprite e realizar uma ação Aad8pUi

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

Voltar ao Topo Ir em baixo

DÚVIDA Re: Clicar em um Sprite e realizar uma ação

Mensagem por joffersoju em Dom Ago 18, 2019 12:25 am

Valew...

Não funfava antes pq eu precisava pôr rigidbody e boxcollider...

Deu certinho!!!

joffersoju
Membro
Membro

PONTOS : 535
REPUTAÇÃO : 1
Respeito as regras : Clicar em um Sprite e realizar uma ação WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Clicar em um Sprite e realizar uma ação

Mensagem por joffersoju em Dom Ago 18, 2019 1:07 am

oi... depois eu fui ver no joguinho e não deu certo, mas, acho que é só problema no código... 

Eu fiz uma gambiarra funcional assim... inseri esse script em um gameObject Plane oculto...
Código:
using UnityEngine;

public class AtivarObjeto : MonoBehaviour
{

    bool mouseDentroDoObjeto;
    public GameObject negro, vazio;

        void Start()
        {
            mouseDentroDoObjeto = false;
        }

        void Update()
        {
            if (mouseDentroDoObjeto == true)
            {
                if (Input.GetMouseButtonDown(0))
                {
                Destroy(this.gameObject);
                negro.SetActive(true);
                vazio.SetActive(false);
                }
            }
        }

        void OnMouseEnter()
        {
            mouseDentroDoObjeto = true;
        }

        void OnMouseExit()
        {
            mouseDentroDoObjeto = false;
        }
    }

E esse outro script em um Sprite...
Código:
using UnityEngine;

public class MudarPosicaoObjeto : MonoBehaviour
{

    public float x, y, z;

    // Update is called once per frame
    void Update()
    {
        transform.position = Vector3.Lerp(transform.position, new Vector3(x, y, z), Time.deltaTime);
    }
}

Então associo o Sprite ao public gameObject "negro" do Plane... o outro gameObject vazio é indiferente.

O que o joguinho faz é o Sprite se movimentar de um ponto ao outro pre-determinado em x, y e z...

Funciona, mas é uma gambiarra...

Testei o OnMouseDown e funciona no Sprite, mas, ele não vai diretamente para o ponto pré-determinado, e sim, tem que clicar várias vezes sobre o Sprite para que ele ande "quadro a quadro" até chegar lá...

O que eu gostaria é que ao clicar diretamente no Sprite, ele se movimentasse para o ponto pre-determinado em x, y e z... sem a gambiarra do uso do gameObject Plane (primitivo)...

Dá de fazer???

joffersoju
Membro
Membro

PONTOS : 535
REPUTAÇÃO : 1
Respeito as regras : Clicar em um Sprite e realizar uma ação WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Clicar em um Sprite e realizar uma ação

Mensagem por nibirou em Dom Ago 18, 2019 5:00 am

@joffersoju escreveu:oi... depois eu fui ver no joguinho e não deu certo, mas, acho que é só problema no código... 

Eu fiz uma gambiarra funcional assim... inseri esse script em um gameObject Plane oculto...
Código:
using UnityEngine;

public class AtivarObjeto : MonoBehaviour
{

    bool mouseDentroDoObjeto;
    public GameObject negro, vazio;

        void Start()
        {
            mouseDentroDoObjeto = false;
        }

        void Update()
        {
            if (mouseDentroDoObjeto == true)
            {
                if (Input.GetMouseButtonDown(0))
                {
                Destroy(this.gameObject);
                negro.SetActive(true);
                vazio.SetActive(false);
                }
            }
        }

        void OnMouseEnter()
        {
            mouseDentroDoObjeto = true;
        }

        void OnMouseExit()
        {
            mouseDentroDoObjeto = false;
        }
    }

E esse outro script em um Sprite...
Código:
using UnityEngine;

public class MudarPosicaoObjeto : MonoBehaviour
{

    public float x, y, z;

    // Update is called once per frame
    void Update()
    {
        transform.position = Vector3.Lerp(transform.position, new Vector3(x, y, z), Time.deltaTime);
    }
}

Então associo o Sprite ao public gameObject "negro" do Plane... o outro gameObject vazio é indiferente.

O que o joguinho faz é o Sprite se movimentar de um ponto ao outro pre-determinado em x, y e z...

Funciona, mas é uma gambiarra...

Testei o OnMouseDown e funciona no Sprite, mas, ele não vai diretamente para o ponto pré-determinado, e sim, tem que clicar várias vezes sobre o Sprite para que ele ande "quadro a quadro" até chegar lá...

O que eu gostaria é que ao clicar diretamente no Sprite, ele se movimentasse para o ponto pre-determinado em x, y e z... sem a gambiarra do uso do gameObject Plane (primitivo)...

Dá de fazer???

--Olha cara eu tentei de varias formas só pra não usar um raycast, e consegui de uma forma--

Código:
Vector2 velocity = Vector2.zero;
    float time = 5.0f;
    public float TargetPosition = -9.04f; // Posição até onde vai ir
    float distance; //essa variavel vai receber a distancia entre voce e o seu alvo de destino

    void Update()
    {
        distance = Vector2.Distance(transform.position, new Vector2(TargetPosition,0)); //Distancia entre eu e o target final

    }
    private void OnMouseDown()
    {
        InvokeRepeating("irateposicao", 0.01f, 0.01f);
    }

    void irateposicao()
    {
        transform.position = Vector2.Lerp(transform.position, new Vector2(TargetPosition, 0), Time.deltaTime * time / distance);
    }

Quem souber uma outra forma posta ai pra agregar conheçimento
nibirou
nibirou
MembroAvançado

Masculino PONTOS : 159
REPUTAÇÃO : 8
Áreas de atuação : C#,C++,produção de audio
Respeito as regras : Clicar em um Sprite e realizar uma ação WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Clicar em um Sprite e realizar uma ação

Mensagem por nibirou em Dom Ago 18, 2019 7:05 am

Código:
 RaycastHit2D hit;
    public Vector2 posicaoAlvo;

    private void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Vector2 worldpoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            hit = Physics2D.Raycast(worldpoint, Vector2.zero);
            if (hit.collider != null && hit.collider.CompareTag("COLOQUE A TAG DO OBJETO AQUI"))
            {             
                    InvokeRepeating("irateposicao", 0.01f, 0.01f); 
            }
           
        }
       

    }
   
    void irateposicao()
    {
        transform.position = Vector2.Lerp(transform.position, posicaoAlvo, Time.deltaTime);
    }


//Esse ja é com raycast, acredito eu que seja uma má pratica de programação utilizar o invokerepeating pra isso, pois tem varios motivos e bugs
//Tentei pensar em outra forma de chegar a isso e no momento não consegui algo melhor, se alguem conseguir ou conseguires, gostaria de saber como fez kkk
nibirou
nibirou
MembroAvançado

Masculino PONTOS : 159
REPUTAÇÃO : 8
Áreas de atuação : C#,C++,produção de audio
Respeito as regras : Clicar em um Sprite e realizar uma ação WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Clicar em um Sprite e realizar uma ação

Mensagem por nibirou em Dom Ago 18, 2019 9:00 am

Código:

    RaycastHit2D hit;
    public Vector3 posicaoAlvo; //Posição que o objeto ira quando clicares nele "modificado no inspector"
    float time = 0.5f; // Velocidade que vai de um ponto ao outro
    public float speed = 2.5f;
    Vector3 velocity; // Velocity sendo usada como velocidade atual no smoothdamp

    private void Start()
    {
        posicaoAlvo = new Vector3();
    }
    private void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Vector3 worldpoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            hit = Physics2D.Raycast(worldpoint, Vector3.zero);
            if (hit.collider != null && hit.collider.CompareTag("COLOQUE A TAG DO SEU OBJETO AQUI"))
            {
                if (transform.position != posicaoAlvo)
                {
                    InvokeRepeating("irateposicao", 0.01f, 0.01f);
                   
                }
            }


        }
        if (transform.position == posicaoAlvo)
        {
            if (IsInvoking("irateposicao"))
            {
                CancelInvoke();
            }
        }


    }
   
    void irateposicao()
    {
        transform.position = Vector3.SmoothDamp(transform.position, posicaoAlvo,ref velocity,time,10.0f,speed*Time.deltaTime);
        // o 10.0f é apenas a velocidade maxima que ele pode atingir
    }
            /*
        Dentro do update tem um if que pergunta se a função "irateposicao" está sendo invokada, se estiver então é cancelado com o "CancelInvoke()"
        Tem que cancelar pois se não cancelar e o objeto for até o destino, se tu tentar arrastar o objeto, ele ficara sempre indo até o ponto
        como se fosse um chiclete, ai pra mudar a posição tem que tirar do play e dar play novamente

        por isso o CancelInvoke */

Ultimo post meu, esse é a ultima sem bugs, só editar ao teu gosto de como vai querer usar
nibirou
nibirou
MembroAvançado

Masculino PONTOS : 159
REPUTAÇÃO : 8
Áreas de atuação : C#,C++,produção de audio
Respeito as regras : Clicar em um Sprite e realizar uma ação WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Clicar em um Sprite e realizar uma ação

Mensagem por MayLeone em Dom Ago 18, 2019 3:16 pm

Olá, eu fiz algo similar com as peças de um quebra-cabeças. Veja que quando a peça não se encaixa, ela volta para seu ponto inicial (um ponto alvo):



O código é simplesmente o abaixo:

Código:
public class GoToTarget : Monobehaviour {
public Vector3 targetPosition; // insira através do inspector a posição para onde o GameObject deve ir
public float speed; // selecione uma velocidade para o objeto ir até o alvo
private bool canMove;

void OnMouseDown(){
if(!canMove)
canMove = true;

return;
}

void Update(){
if(canMove){
this.transform.position = Vector3.MoveTowards(
transform.position, targetPosition, speed*Time.deltaTime);
CheckPosition();
} else
return;
}

void CheckPosition(){
if(canMove && transform.position == targetPosition){
canMove = false;
Destroy(this.GetComponent<GoToTarget>());
}
}
}
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1193
REPUTAÇÃO : 316
Áreas de atuação : Unity & C#
Respeito as regras : Clicar em um Sprite e realizar uma ação Aad8pUi

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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