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:
Criar sprite multiplo de imagens de SVG no unity
sensibilidade do mouse
Somar pontos quando matar um inimigo!!
OnTrigger e OnColision deixa o jogo mais pesado?
Criação de terreno para jogo comercial
Especificações do Celular
Prévia de atualização do meu jogo - Generic Shooter Game
Controles mobile 2d game Kit
criação de tabela comm filtro
Sistema de câmera - SnakeCam
Desativar texto não funciona
Erro com bala ...AJUDA
Desligar abate de distancia...
ScrollBar para menus ou inventários
problema com script de pula pula
Selecionar Objeto Usando Outlined
Formação de Equipe
movimentação FPS COM ERRO
Eu to usando este skript recentemente mas ele ta dando esses erros tem como ajudar
Animação bugada com Legacy
setActive não esta funcionando com condiçoes if
Dicas Para Cenário De Jogo De Terror
Dicas para organização de projeto
SOU MODELADOR SE TIVER ALGUEM PRECISANDO AI ME CONTATE
[TUTORIAL] Geração de níveis randômicos
dar play e spawn começar esta dando erro
movimentação por posição
nao consigo abrir projetos na unity
problema com script de random na scale de um objeto
Duvida sobre mesh colider
Falha no comando
Sistema de Replay
AJUDA COM MOVIMENTAÇAO DE ARMAS
[Asset] Brincando no SketchUp fiz uma casa
[RESOLVIDO] Como destruir um objeto com colisor?
[RESOLVIDO] Nome de Teclas
[TUTORIAL] Unity 3D - Sol realista (SunShafts) ->> 2020 funcionando
[TUTORIAL] Sistema de FPS com Corpo
Live dos jogos do fórum
Pausa dentro do jogo
Sistema de Pulo está dando erro.
player correndo e animação quando estiver colidindo
App Demo e Pago
Zoom da Câmera Orbital por Botões
FPS de Corpo Inteiro!
[TUTORIAL] FPS Controller com corpo completo!
Como posso criar um sistema de pulo para esse script que determina a gravidade.
Como posso configurar o NetworkManagerHud ?
Fear - Modern House The Game [WINDOWS - ANDROID]
sketchUP
ERRO NO SCRIPT UM UNICO ERRO
A animação não está funcionando bem.
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Como eu posso fazer um player estilo GTA e que tenha uma câmera 360 como o GTA?
Pseudo 2D e algumas outras duvidas.
alquem me recomenda uma versao do unity que tenha tudo e que funcione bem e nao trave
[TUTORIAL] Sistema de visão para inimigos baseado em angulos
Compilando para Android
TOUCH
MenuPausa__Pedido
Ideia de como REPRESENTAR VELOCIDADE NA TELA
Erro no isLocalPlayer - Alguém?
Alguém que desenhe sprite 2d ?
Animação de morte
Posso limitar o "Instantiate" para instanciar até uma quantidade X?
Erro na troca de script do personagem
Duvída em relação ao UI em interações com objetos
Movimento helix jump
QUERIA SABER QUAL CODIGO PARA DESATIVAR UMA CAMERA E PASSAR PARA OUTRA
@MarcosSchultz tem como me enviar so o skript sunshafts
[TUTORIAL] AI Enemy ( Jogos de terror )
[ SUN SHAFTS ] nao encontro ele em lugar nenhum, estou usando a ultima versao do unity
PEDIDO - queria um script para entrar em um veiculo
Efeito Suave Ao Virar a Câmera
Quanto tempo o Google Play leva para analisar o app/ jogo e publicar ?
Fazer inimigo acompanhando rotação do player2D
Adicionar +1 ao colidir com objeto
Dark Dreams Reborn 1.7.2
OnAdFailedToLoad ADMOB
Duvida importante Sobre quando é exibido ANUNCIO NA TELA
Como Voltar um Objeto para a Posição Inicial?
Compartilhar a tela do jogo no facebook
Checar se tal objeto está em tal rotação
tamanho do brushes
Salvar cena
importa o caminhao do spintires para o bleand ou unit
Duvida sobre âncoras na UI
FPSController Buga ao Encostar em Porta com Colisor
Animator controller
Como faz para diminuir com tiro um objeto que crescer constatimente?
quero aprender o C# script!
Como eu faço uma vítima com animação para um jogo de terror
Fazer Os NPC Andarem Aleatoriamente pelo mapa (3D)
Animação de andar em jogo point click
[RESOLVIDO] Pontuaçao do personagem . Como poso melhorar ela ?
Como criar uma loja no menu Inicial?
Problemas com cor na unity
[RESOLVIDO] Porque fundo da letra NÃO FICA BRANCO, só fica invisivel
[RESOLVIDO] Mensagem UI
Hoje à(s) 10:55 am
Ontem à(s) 11:45 pm
Ontem à(s) 11:42 pm
Ontem à(s) 7:56 pm
Ontem à(s) 7:14 pm
Ontem à(s) 6:12 pm
Ontem à(s) 3:57 pm
Ontem à(s) 12:40 pm
Ter Jan 21, 2020 9:20 pm
Ter Jan 21, 2020 7:34 pm
Ter Jan 21, 2020 6:07 pm
Ter Jan 21, 2020 4:27 pm
Ter Jan 21, 2020 3:24 pm
Ter Jan 21, 2020 2:35 pm
Ter Jan 21, 2020 7:15 am
Ter Jan 21, 2020 12:34 am
Seg Jan 20, 2020 11:49 pm
Seg Jan 20, 2020 9:36 pm
Seg Jan 20, 2020 6:32 pm
Seg Jan 20, 2020 12:43 pm
Seg Jan 20, 2020 12:28 pm
Seg Jan 20, 2020 11:54 am
Dom Jan 19, 2020 7:41 pm
Dom Jan 19, 2020 5:33 pm
Dom Jan 19, 2020 5:28 pm
Dom Jan 19, 2020 2:24 pm
Dom Jan 19, 2020 1:59 am
Sab Jan 18, 2020 11:12 pm
Sab Jan 18, 2020 8:51 pm
Sab Jan 18, 2020 6:05 pm
Sab Jan 18, 2020 5:57 pm
Sab Jan 18, 2020 5:12 pm
Sab Jan 18, 2020 4:49 pm
Sex Jan 17, 2020 11:36 pm
Sex Jan 17, 2020 9:21 pm
Sex Jan 17, 2020 12:21 pm
Sex Jan 17, 2020 10:10 am
Sex Jan 17, 2020 12:44 am
Qui Jan 16, 2020 9:01 pm
Qui Jan 16, 2020 2:35 pm
Qui Jan 16, 2020 10:33 am
Qui Jan 16, 2020 1:00 am
Qua Jan 15, 2020 11:05 pm
Qua Jan 15, 2020 8:22 pm
Qua Jan 15, 2020 6:04 pm
Qua Jan 15, 2020 6:03 pm
Qua Jan 15, 2020 5:41 pm
Qua Jan 15, 2020 12:30 pm
Qua Jan 15, 2020 2:05 am
Ter Jan 14, 2020 10:28 pm
Ter Jan 14, 2020 9:21 pm
Ter Jan 14, 2020 8:34 pm
Ter Jan 14, 2020 7:30 pm
Ter Jan 14, 2020 4:42 pm
Ter Jan 14, 2020 12:05 pm
Ter Jan 14, 2020 10:25 am
Seg Jan 13, 2020 8:10 pm
Seg Jan 13, 2020 7:51 pm
Seg Jan 13, 2020 5:45 pm
Seg Jan 13, 2020 4:40 pm
Seg Jan 13, 2020 4:31 pm
Seg Jan 13, 2020 2:44 pm
Seg Jan 13, 2020 1:42 am
Dom Jan 12, 2020 11:24 pm
Dom Jan 12, 2020 11:17 pm
Dom Jan 12, 2020 11:10 pm
Dom Jan 12, 2020 9:48 pm
Dom Jan 12, 2020 9:32 pm
Dom Jan 12, 2020 5:29 pm
Dom Jan 12, 2020 7:56 am
Dom Jan 12, 2020 2:59 am
Dom Jan 12, 2020 2:50 am
Sab Jan 11, 2020 10:18 pm
Sab Jan 11, 2020 8:23 pm
Sab Jan 11, 2020 7:54 pm
Sab Jan 11, 2020 1:30 pm
Sab Jan 11, 2020 12:15 pm
Sab Jan 11, 2020 1:42 am
Sex Jan 10, 2020 10:35 am
Sex Jan 10, 2020 8:16 am
Qui Jan 09, 2020 10:12 pm
Qui Jan 09, 2020 10:05 pm
Qui Jan 09, 2020 10:03 pm
Qui Jan 09, 2020 10:00 pm
Qui Jan 09, 2020 9:46 pm
Qui Jan 09, 2020 6:38 pm
Qui Jan 09, 2020 2:43 pm
Qui Jan 09, 2020 2:00 pm
Qui Jan 09, 2020 12:20 am
Qua Jan 08, 2020 11:28 pm
Qua Jan 08, 2020 10:20 pm
Qua Jan 08, 2020 4:31 pm
Qua Jan 08, 2020 12:51 pm
Qua Jan 08, 2020 12:39 pm
Qua Jan 08, 2020 12:38 pm
Qua Jan 08, 2020 11:52 am
Qua Jan 08, 2020 11:36 am
Qua Jan 08, 2020 10:20 am
Ter Jan 07, 2020 9:13 pm
joffersoju
NKKF
NKKF
Fagner
Magnatah
Fagner
Heltonlay
NKKF
MayLeone
Fagner
lucasluiz789
Piewdie Mãe
Fagner
hendrick22
Kleber Lucas
BlesseD
JhoowGamer
Piewdie Mãe
Felipe42
lesgoy
Kleber Lucas
nvndx
Antônio T
LAGGAMES
AnderGames
nvndx
Antônio T
RafaelSquid1
nvndx
NKKF
NKKF
Fagner
Piewdie Mãe
Fagner
Wahder
skillMakarov
MarceloYBP
LúcioHenrique098
LúcioHenrique098
RafaelSquid1
teos626
nvndx
lesgoy
mama2401
LúcioHenrique098
LúcioHenrique098
teos626
NKKF
RafaelSquid1
RafaelSquid1
Fagner
pwssantos
Antônio T
vibonito
Antônio T
lucasluiz789
hendrick22
BlesseD
hendrick22
Edu4rdogx
gtcmcsgo
RafaelSquid1
juansup
Edivandro2706
felipe jesus
Edivandro2706
Sherlock
Fagner
Felipe42
Felipe42
BlesseD
Felipe42
Felipe42
Magnatah
Antônio T
joffersoju
lucasluiz789
guimaraf
gtcmcsgo
gtcmcsgo
mama2401
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
bruno92
BlesseD
BlesseD
hendrick22
MayLeone
adrianobros2
adrianobros2
samoliver1813
samoliver1813
negroredgames@gmail.com
adrianobros2
poyser
gtcmcsgo
BlesseD

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
Avançado
Avançado

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

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 : 62555
REPUTAÇÃO : 2397
Idade : 23
Áreas de atuação : Administrador do fórum
Respeito as regras : Clicar em um Sprite e realizar uma ação Aad8pUi

https://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
Avançado
Avançado

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

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
Avançado
Avançado

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

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 : 309
REPUTAÇÃO : 15
Áreas de atuação : C#,C++,produção de audio
Respeito as regras : Clicar em um Sprite e realizar uma ação WvDYdlf

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 : 309
REPUTAÇÃO : 15
Áreas de atuação : C#,C++,produção de audio
Respeito as regras : Clicar em um Sprite e realizar uma ação WvDYdlf

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 : 309
REPUTAÇÃO : 15
Áreas de atuação : C#,C++,produção de audio
Respeito as regras : Clicar em um Sprite e realizar uma ação WvDYdlf

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 : 1466
REPUTAÇÃO : 383
Áreas de atuação : Unity & C#
Respeito as regras : Clicar em um Sprite e realizar uma ação Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Voltar ao Topo


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