[RESOLVIDO] Jogo 2D unity - trocar sprite ao apertar botão
5 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Jogo 2D unity - trocar sprite ao apertar botão
Estou fazendo na Unity um jogo 2d de plataforma e gostaria de fazer o personagem ficar com outro sprite quando se aperta um botão (como ctrl ou x). Depois de alguns segundos o personagem deve voltar ao normal (aparência anterior). No jogo, o personagem muda de forma para se transformar nos inimigos e passar por eles sem ser detectado. Gostaria de saber também como fazer os inimigos seguirem o jogador e pararem quando o player se disfarça.
Buky- Iniciante
- PONTOS : 2323
REPUTAÇÃO : 1
Respeito as regras :
Re: [RESOLVIDO] Jogo 2D unity - trocar sprite ao apertar botão
Boa tarde! segue um simples código para começar:
Referência: https://answers.unity.com/questions/1243232/how-to-change-sprite-using-a-button.html
Sobre o inimigo parar de seguir o player, você pode usar uma booleana stática no player a qual os inimigos monitoram, quando você troca de sprite ela recebe um valor (true ou false) e então eles param, voltando para o sprite anterior o valor da booleana reverte e eles voltam a seguir. Fica como dever para você modificar esse código e melhora-lo, para aprender mais C# na Unity, veja essas aulas:
Abraço!
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // Namespace para utilizar a biblioteca UI da Unity
public class MudaSprite : MonoBehaviour
{
public Sprite outroSprite; // Variável pública para você colocar o sprite que irá substituir o original
private SpriteRenderer renderSprite; //Varipavel privada do tipo SpriteRenderer, que o objeto 2D possui.
void Start ()
{
renderSprite = GetComponent<SpriteRenderer>(); //Atribui a variável renderSprite o componente de SpriteRenderer presente no objeto 2D, na inicialização da cena.
}
void Update ()
{
if(Input.GetKeyDown(KeyCode.E)) //Enquando a cena estiver rodando e pressionar a tecla E, ele irá substituir o sprite original pelo colocado na variável pública outroSprite.
{
renderSprite.sprite = outroSprite;
}
}
}
Referência: https://answers.unity.com/questions/1243232/how-to-change-sprite-using-a-button.html
Sobre o inimigo parar de seguir o player, você pode usar uma booleana stática no player a qual os inimigos monitoram, quando você troca de sprite ela recebe um valor (true ou false) e então eles param, voltando para o sprite anterior o valor da booleana reverte e eles voltam a seguir. Fica como dever para você modificar esse código e melhora-lo, para aprender mais C# na Unity, veja essas aulas:
Abraço!
Última edição por dstaroski em Qui Ago 30, 2018 3:11 pm, editado 3 vez(es) (Motivo da edição : Acréscimo de informação)
Re: [RESOLVIDO] Jogo 2D unity - trocar sprite ao apertar botão
como que eu faço para num jogo 2d,uma imagem de sprite sumir e aparecer ao apertar um botao? e como que eu faço para que fique a frente ou atras de outras imagens?
Regis garcia- Iniciante
- PONTOS : 2676
REPUTAÇÃO : 1
Respeito as regras :
Re: [RESOLVIDO] Jogo 2D unity - trocar sprite ao apertar botão
Basta seguir este tutorial:Regis garcia escreveu:como que eu faço para num jogo 2d,uma imagem de sprite sumir e aparecer ao apertar um botao? e como que eu faço para que fique a frente ou atras de outras imagens?
Crie void's que façam um simples ativar e desativar de um sprite. Quanto a ordem de renderização da imagem, isto só depende da ordem em que o objeto está na hierarquia. Mas da pra utilizar os novos componentes de layer 2D para resolver esse problema.
Se não conseguir sanar a sua dúvida, por favor, poste ela em um novo tópico, informando a versão da Unity que está a utilizar.
Re: [RESOLVIDO] Jogo 2D unity - trocar sprite ao apertar botão
MT OBRIGADO VOCÊ ME AJUDOU PARA CARALHO
deathmasterxz- Iniciante
- PONTOS : 1540
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Trocar cor de um objeto ao apertar uma tecla
» [RESOLVIDO] Aumentar resolução de uma sprite no Unity
» [RESOLVIDO] Tem como trocar objetos dentro do inspector da unity?
» [RESOLVIDO] Como trocar uma imagem ao clicar num botão em unity c#
» [RESOLVIDO] Galera, onde pede (sprite) no unity qual formato de imagen devo colocar
» [RESOLVIDO] Aumentar resolução de uma sprite no Unity
» [RESOLVIDO] Tem como trocar objetos dentro do inspector da unity?
» [RESOLVIDO] Como trocar uma imagem ao clicar num botão em unity c#
» [RESOLVIDO] Galera, onde pede (sprite) no unity qual formato de imagen devo colocar
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos