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:
sensibilidade do mouse
Criar sprite multiplo de imagens de SVG no unity
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) 1:28 pm
Hoje à(s) 10:55 am
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
Piewdie Mãe
joffersoju
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

Mecânica simples no estilo Jogo da Memória

Ir em baixo

DÚVIDA Mecânica simples no estilo Jogo da Memória

Mensagem por joffersoju em Seg Out 14, 2019 6:08 pm

Oi...

Estou tentando fazer uma mecânica simples tipo jogo da memória...

Código:
using UnityEngine;

public class JogoMemoria : MonoBehaviour
{
    public GameObject[] cartas; //4 cartas
    public Transform[] posicao; //4 posicoes

    public void MudarPosicao() // onClick de um botao
    {
        foreach (GameObject item in cartas)
        {
            int objRandom = Random.Range(0, cartas.Length);
            item.transform.position = posicao[objRandom].position;
        }
    }
}

O problema é que sempre fica posicoes vazias ou posicao com mais de duas cartas... tentei de várias formas e não consegui... então, alguém pode me ajudar como posso fazer essa parte de um jeito simples? 

As demais partes tentarei fazer... qq coisa pergunto aqui... Mecânica simples no estilo Jogo da Memória 541976152

joffersoju
Avançado
Avançado

PONTOS : 721
REPUTAÇÃO : 2
Respeito as regras : Mecânica simples no estilo Jogo da Memória WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Mecânica simples no estilo Jogo da Memória

Mensagem por MayLeone em Ter Out 15, 2019 3:17 am

É que vc está deixando sortear valores repetidos.
Tente adicionar numa lista as posições que já foram sorteadas e verificar com um if se essa posição sorteada já existe na lista, se sim, sorteie outra, se não sorteia ela mesmo.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1466
REPUTAÇÃO : 383
Áreas de atuação : Unity & C#
Respeito as regras : Mecânica simples no estilo Jogo da Memória Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Mecânica simples no estilo Jogo da Memória

Mensagem por joffersoju em Ter Out 15, 2019 11:32 am

Oi...

Fiz assim, peguei uns scripts e fui adequando... 
Linkei o indice randomico e fui add os sprites linkados no inspector a posicao dos gameobjectos anversos... funcionou...

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

public class JogoMemoria : MonoBehaviour
{
    private int valorMin = 0;
    public int valorMax;
    [Space(20)]
    public int valorSorteado;
    [Space(20)]
    public List<int> numerosJaSorteados = new List<int>();
    public GameObject[] anverso;
    public Sprite[] cartaOuro;

    void Update()
    {
        valorSorteado = NumeroRandomico();

        foreach (GameObject objeto in anverso)
        {
            int index = System.Array.IndexOf(anverso, objeto);
            objeto.GetComponent<SpriteRenderer>().sprite = cartaOuro[numerosJaSorteados[index]];
        }
    }

    public int NumeroRandomico()
    {
        if (Mathf.Abs(valorMax - valorMin) > numerosJaSorteados.Count)
        {
            while (true)
            {
                int numeroAleatorio = Random.Range(valorMin, valorMax);
                if (!numerosJaSorteados.Contains(numeroAleatorio))
                {
                    numerosJaSorteados.Add(numeroAleatorio);
                    return numeroAleatorio;
                }
            }
        }
        else
        {
            Debug.LogError("todas as cartas já saíram");
            return 0;
        }
    }
}

O que achou?

joffersoju
Avançado
Avançado

PONTOS : 721
REPUTAÇÃO : 2
Respeito as regras : Mecânica simples no estilo Jogo da Memória WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Mecânica simples no estilo Jogo da Memória

Mensagem por MayLeone em Ter Out 15, 2019 3:02 pm

Hum, ficou um pouco mais complexo do que eu imaginava, mas parece que ficou bom.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1466
REPUTAÇÃO : 383
Áreas de atuação : Unity & C#
Respeito as regras : Mecânica simples no estilo Jogo da Memória Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Mecânica simples no estilo Jogo da Memória

Mensagem por joffersoju em Ter Out 15, 2019 3:51 pm

@MayLeone escreveu:Hum, ficou um pouco mais complexo do que eu imaginava, mas parece que ficou bom.
Oi... como poderia ficar mais simples e ter a mesma funcionalidade???

Poderia me mostrar para que eu aprenda por gentileza?

joffersoju
Avançado
Avançado

PONTOS : 721
REPUTAÇÃO : 2
Respeito as regras : Mecânica simples no estilo Jogo da Memória WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Mecânica simples no estilo Jogo da Memória

Mensagem por joffersoju em Ter Out 15, 2019 5:06 pm

Pois, tentei fazer como disse... encontrando a posição vazia... mas, não consegui... só consegui desse outro jeito... vc pode me mostrar como eu faria para encontrar a posição que ficou vazia e assim, atribuir um Sprite a ela? como tb evitar que uma mesma posição recebesse dois sprites?

joffersoju
Avançado
Avançado

PONTOS : 721
REPUTAÇÃO : 2
Respeito as regras : Mecânica simples no estilo Jogo da Memória WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Mecânica simples no estilo Jogo da Memória

Mensagem por joffersoju em Qua Out 16, 2019 1:54 am

Oi... continuei o jogo... 

Coloquei esse script em cada carta que vira...

mas, não consigo fazer com que na carta anterior... o sprite do verso volte pra ela... 

pode me ajudar???

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

public class AbrirCarta : MonoBehaviour
{
    public GameObject posicao;
    public Sprite verso;
    public Text[] cartaTexto;

    private void OnMouseDown()
    {
        JogoMemoria.pontosCarta = JogoMemoria.pontosCarta + 1;

        GetComponent<SpriteRenderer>().sprite = posicao.GetComponent<SpriteRenderer>().sprite;

        if (JogoMemoria.pontosCarta == 1)
        {
            cartaTexto[0].text = GetComponent<SpriteRenderer>().sprite.name;
        }
        else if (JogoMemoria.pontosCarta == 2)
        {
            cartaTexto[1].text = GetComponent<SpriteRenderer>().sprite.name;
            CompararCartas();
        }
    }

    void CompararCartas()
    {
        if (cartaTexto[0].text.Equals(cartaTexto[1].text))
        {
            Debug.Log("Voce venceu");
            JogoMemoria.pontosCarta = 0;
        }
        else
        {
            GetComponent<SpriteRenderer>().sprite = verso;
            JogoMemoria.pontosCarta = 0;
        }
    }
}

joffersoju
Avançado
Avançado

PONTOS : 721
REPUTAÇÃO : 2
Respeito as regras : Mecânica simples no estilo Jogo da Memória WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Mecânica simples no estilo Jogo da Memória

Mensagem por joffersoju em Qua Out 16, 2019 2:03 am

o outro código

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

public class JogoMemoria : MonoBehaviour
{
    private int valorMin = 0;
    public int valorMax;
    [Space(20)]
    public int valorSorteado;
    [Space(20)]
    public List<int> numerosJaSorteados = new List<int>();
    public GameObject[] anverso, cartasVerso;
    public Sprite[] cartaOuro;
    public Text nomeCarta1, nomeCarta2;
    public static int pontosCarta = 0;
    public int pontosCartaFake;

    private void Start()
    {
        foreach(GameObject obj in cartasVerso)
        {
            print(obj);
        }
    }
    private void Update()
    {
        pontosCartaFake = pontosCarta;
    }

    public void NovoNumero()
    {
        valorSorteado = NumeroRandomico();

        while(numerosJaSorteados.Count < valorMax)
        {
            valorSorteado = NumeroRandomico();
        }

        foreach (GameObject objeto in anverso)
        {
            int index = System.Array.IndexOf(anverso, objeto);
            objeto.GetComponent<SpriteRenderer>().sprite = cartaOuro[numerosJaSorteados[index]];
        }
    }

    public int NumeroRandomico()
    {
        if (Mathf.Abs(valorMax - valorMin) > numerosJaSorteados.Count)
        {
            while (true)
            {
                int numeroAleatorio = Random.Range(valorMin, valorMax);
                if (!numerosJaSorteados.Contains(numeroAleatorio))
                {
                    numerosJaSorteados.Add(numeroAleatorio);
                    return numeroAleatorio;
                }
            }
        }
        else
        {
            Debug.LogError("todas as cartas já saíram");
            return 0;
        }
    }
}

já com algumas pequenas alteracoes...

joffersoju
Avançado
Avançado

PONTOS : 721
REPUTAÇÃO : 2
Respeito as regras : Mecânica simples no estilo Jogo da Memória WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Mecânica simples no estilo Jogo da Memória

Mensagem por joffersoju em Qua Out 16, 2019 9:34 pm

Fechei a mecânica básica... 
1. []cartasAleatorias recebem as []cartasEscolhidas sem repetição...
2. A []cartasPosições recebem ao serem clicadas os as[]cartasAleatorias...
3. Após clicar nas duas cartas, elas comparam por string e se forem iguais, mantem viradas, senão desviram, por tag e depois, a tag é desabilitada...

É isso, a mecânica do jogo da memória funcionou bacana...

Melhoria são bem vindas...

Script JogoMemoria em qualquer objeto
Script AbrirCarta nas cartas que serão abertas

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

public class JogoMemoria : MonoBehaviour
{
    private int valorMin = 0;
    public int valorMax;
    [Space(20)]
    public int valorSorteado;
    [Space(20)]
    public List<int> numerosJaSorteados = new List<int>();
    public GameObject[] anverso;
    public Sprite[] cartaOuro;
    public static int pontosCarta = 0;
    public int pontosCartaFake;


    private void Update()
    {
        pontosCartaFake = pontosCarta;
    }

    public void NovoNumero()
    {
        valorSorteado = NumeroRandomico();

        while (numerosJaSorteados.Count < valorMax)
        {
            valorSorteado = NumeroRandomico();
        }

        foreach (GameObject objeto in anverso)
        {
            int index = System.Array.IndexOf(anverso, objeto);
            objeto.GetComponent<SpriteRenderer>().sprite = cartaOuro[numerosJaSorteados[index]];
        }
    }

    public int NumeroRandomico()
    {
        if (Mathf.Abs(valorMax - valorMin) > numerosJaSorteados.Count)
        {
            while (true)
            {
                int numeroAleatorio = UnityEngine.Random.Range(valorMin, valorMax);
                if (!numerosJaSorteados.Contains(numeroAleatorio))
                {
                    numerosJaSorteados.Add(numeroAleatorio);
                    return numeroAleatorio;
                }
            }
        }
        else
        {
            Debug.LogError("todas as cartas já saíram");
            return 0;
        }
    }
}




Código:
using System;
using UnityEngine;
using UnityEngine.UI;
using UnityScript.Steps;

public class AbrirCarta : MonoBehaviour
{
    public GameObject[] baralhoAleatorio, cartaPrimeira;
    public Sprite verso;
    public Text[] cartaTexto;

    public string posicaoCartaString;
    public int posicaoCartaInt;
    public new string tag;

    private void OnMouseDown()
    {
        JogoMemoria.pontosCarta = JogoMemoria.pontosCarta + 1;
        posicaoCartaInt = Convert.ToInt16(posicaoCartaString);
        GetComponent<SpriteRenderer>().sprite = baralhoAleatorio[posicaoCartaInt].GetComponent<SpriteRenderer>().sprite;
        gameObject.tag = tag;

        if (JogoMemoria.pontosCarta == 1)
        {
            cartaTexto[0].text = GetComponent<SpriteRenderer>().sprite.name;
        }
        else if (JogoMemoria.pontosCarta == 2)
        {
            cartaTexto[1].text = GetComponent<SpriteRenderer>().sprite.name;
            CompararCartas();
        }
    }

    void CompararCartas()
    {
        if (cartaTexto[0].text.Equals(cartaTexto[1].text))
        {
            Debug.Log("Voce venceu");
            foreach (GameObject carta in cartaPrimeira)
            {
                carta.tag = "Untagged";
            }
            JogoMemoria.pontosCarta = 0;
        }
        else
        {
            Invoke("Tempo", 1);
        }
    }

    void Tempo()
    {
        GetComponent<SpriteRenderer>().sprite = verso;
        cartaPrimeira = GameObject.FindGameObjectsWithTag("tag");
        foreach (GameObject carta in cartaPrimeira)
        {
            carta.GetComponent<SpriteRenderer>().sprite = verso;
            carta.tag = "Untagged";
        }
        JogoMemoria.pontosCarta = 0;
    }
}

joffersoju
Avançado
Avançado

PONTOS : 721
REPUTAÇÃO : 2
Respeito as regras : Mecânica simples no estilo Jogo da Memória WvDYdlf

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