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:
Nitro para Carro
Firebase (Login com facebook)
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Duvida com API Vulkan Vs OpenGL -- Unity !!!!
Procura-se equipe para jogo de puzzle em 3º Pessoa
Ajuda jogo
duvida player quicando ao descer desnivel
cliente/servidor
Animação de abrir/fechar porta mais complexa
duvida sobre essa Ui e raycast
Duvida Tamanho do Mapa unity
[Formação de Equipe] - City Driving
Graficos bugados no android Unity 5
[ASSET] Script Arma Completo Incluso Recuo. Incluso outros Scripts
Clicar em um Sprite e realizar uma ação
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Ajuda com Colisões
mudar objeto ao clicar nele
Ajuda com um script(SmoothCamera)
Duvida em Desenhar UI -- HELP
Finalização Calculadora, fazer com que o jogador tente novamente
Como colocar musicas em um app?
[Duvida] Sobre Reference Resolution -> (Canvas)
Como criar navegador próprio em app?
[RESOLVIDO] Duvida sobre Edição de texto em imagem
Da pra criar Apps na Unity?
BUG MT CHATO. USANDO O PlayerPrefs. ME AJUDAAAAAAA PF
[RESOLVIDO] Camera não colide com parede
Há algum segredo em criações de I.A?
[RESOLVIDO] salvar as configurações para aparecer no game certo que o jogador configurou
Dica de estudos
[RESOLVIDO] Duvida Sobre C#
Script parando de funcionar quando maximizo a tela do game
Fazer uma seleção de personagens e seguir para o jogo com o personagem escolhido
Como faço para colocar unity em rede
personagem
Criar animações
Detectar movimento Joystick
tem como abrir arquivos de jogos já compilado?
Como criar rede neural para AI
[____ADMINISTRAÇÃO____] Gostaria da opinião de vocês...
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
Navegador reiniciando no mobile dos IOS [WEBGL]
[RESOLVIDO] Dúvida Script OnTriggerEnter
Gerar APK
[TUTORIAL] Salvar dados com playerprefs facilmente.
É possível reproduzir som durante logo de abertura do jogo?
[TUTORIAL] Criação de Skins Realistas em 3D!
Command 888
Sistema de Yu-Gi-Oh - C O M P L E T O - Download 13/08
[RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY
Construção de um save das configurações e ir pro jogo com as config certas
Podem me ajudar com esse problema
Contagem de tempo em classes abstratas
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
[RESOLVIDO] Como mostrar o valor atual de uma variável do tipo Int em um text
Como se faz um dash?
Como permitir que o usuário escolha uma imagem para ser usada em um jogo?
[Projeto em Andamento] Favela Combat - Multiplayer online (Android & iOS)
[TUTORIAL] Sistema Pdv, Mercado, Padaria, Conveniência, Lojas Em Geral - C# VISUAL STUDIO
Diferenciar execução (mobile / desktop) WEBGL
Como mudar de camera assim que o player entrar no Trigger
WEBGL
Como faço para mover um objeto?
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
Ajuda em bug da Unity!
como mudar o material de um mesh que tem mas de 1 material por Script ?
[Duvida] Como funciona a coleta de dados e como é feito?
Teclado na Unity
Formação de equipe -- ASSALTO A BANCO--
Câmera estar limitada ao tamanho da tela
ESCOLA DE DESENVOLVIMENTO DE GAMES.
Mudar uma animação já existente com o clique em um botão UI
Cam
[RESOLVIDO] Minha imagem só aparece na scene
COMO EXPORTAR PARA IOS COM WINDOWS
Criei uma Grama com Shader Graph
[TUTORIAL] Mover personagem com Touch, no estilo SUBWAY SURFERS
Joystick
Limite Máximo de tamanho de mapa na Unity?
Jogo Mobile (Leia)
Entender um script
[RESOLVIDO] Como Ativar Objeto Apenas na Frente Dele?
POR QUE O TOUCH MOBILE TRAVA COM ADMOB?
Qual o Tempo Máximo que vocês Jogaram um Jogo ?
Tocar audio
Todos os veiculos mudando de cor no multplayer, como resolver ?
[Projeto em Andamento] Brazil Combat
Background com bug
[Projeto] Omega Racers
[RESOLVIDO] Clones morrendo ao mesmo tempo?
Alguém pode me dizer o que esse script está fazendo?
HELP inimigo perseguir personagens
Html 5
1 exception was raised by workers: see the console for detail HELP
Acessar teclado nativo dispositivo, para inputFiled [WEBGL]
Como fazer uma animação parar em determinado frame?
Meu Jogo inspirado em resident evil 2 remake
Posso limitar o "Instantiate" para instanciar até uma quantidade X?
Hoje à(s) 6:32 pm
Hoje à(s) 6:22 pm
Hoje à(s) 6:06 pm
Hoje à(s) 5:02 pm
Hoje à(s) 4:48 pm
Hoje à(s) 2:25 pm
Hoje à(s) 1:29 pm
Hoje à(s) 11:47 am
Hoje à(s) 9:51 am
Hoje à(s) 3:47 am
Ontem à(s) 11:29 pm
Ontem à(s) 9:40 pm
Ontem à(s) 7:08 pm
Ontem à(s) 5:33 pm
Ontem à(s) 3:16 pm
Sab Ago 17, 2019 11:23 pm
Sab Ago 17, 2019 3:16 am
Sex Ago 16, 2019 11:27 pm
Sex Ago 16, 2019 8:50 pm
Sex Ago 16, 2019 12:19 pm
Sex Ago 16, 2019 12:07 pm
Sex Ago 16, 2019 10:58 am
Sex Ago 16, 2019 6:33 am
Qui Ago 15, 2019 6:42 pm
Qui Ago 15, 2019 4:02 pm
Qui Ago 15, 2019 12:10 pm
Qui Ago 15, 2019 11:57 am
Qua Ago 14, 2019 7:13 pm
Qua Ago 14, 2019 6:07 pm
Qua Ago 14, 2019 5:48 pm
Qua Ago 14, 2019 5:18 pm
Qua Ago 14, 2019 5:05 pm
Qua Ago 14, 2019 5:00 pm
Qua Ago 14, 2019 4:56 pm
Qua Ago 14, 2019 4:53 pm
Qua Ago 14, 2019 4:52 pm
Qua Ago 14, 2019 4:49 pm
Qua Ago 14, 2019 4:47 pm
Qua Ago 14, 2019 4:45 pm
Qua Ago 14, 2019 4:44 pm
Qua Ago 14, 2019 4:35 pm
Qua Ago 14, 2019 4:32 pm
Qua Ago 14, 2019 4:31 pm
Qua Ago 14, 2019 4:10 pm
Qua Ago 14, 2019 12:39 am
Ter Ago 13, 2019 10:23 pm
Ter Ago 13, 2019 10:03 pm
Ter Ago 13, 2019 7:53 pm
Ter Ago 13, 2019 6:33 pm
Ter Ago 13, 2019 4:26 pm
Ter Ago 13, 2019 4:10 pm
Seg Ago 12, 2019 11:25 pm
Seg Ago 12, 2019 8:31 pm
Seg Ago 12, 2019 6:17 pm
Seg Ago 12, 2019 12:51 pm
Dom Ago 11, 2019 7:54 pm
Dom Ago 11, 2019 10:17 am
Sab Ago 10, 2019 10:32 pm
Sab Ago 10, 2019 2:34 pm
Sex Ago 09, 2019 10:43 pm
Sex Ago 09, 2019 5:56 pm
Qui Ago 08, 2019 7:48 pm
Qui Ago 08, 2019 5:21 pm
Qui Ago 08, 2019 12:32 pm
Qui Ago 08, 2019 2:53 am
Qua Ago 07, 2019 10:57 pm
Qua Ago 07, 2019 8:10 pm
Qua Ago 07, 2019 7:16 pm
Qua Ago 07, 2019 4:29 pm
Qua Ago 07, 2019 2:51 pm
Seg Ago 05, 2019 11:24 pm
Seg Ago 05, 2019 9:51 pm
Seg Ago 05, 2019 8:48 pm
Seg Ago 05, 2019 8:33 pm
Seg Ago 05, 2019 7:36 pm
Seg Ago 05, 2019 6:23 pm
Seg Ago 05, 2019 5:31 pm
Seg Ago 05, 2019 5:27 pm
Seg Ago 05, 2019 2:35 am
Seg Ago 05, 2019 2:27 am
Dom Ago 04, 2019 7:37 pm
Dom Ago 04, 2019 4:25 pm
Dom Ago 04, 2019 3:58 pm
Dom Ago 04, 2019 3:44 pm
Dom Ago 04, 2019 4:50 am
Dom Ago 04, 2019 4:39 am
Dom Ago 04, 2019 4:37 am
Sab Ago 03, 2019 9:43 pm
Sab Ago 03, 2019 9:13 pm
Sex Ago 02, 2019 8:47 pm
Sex Ago 02, 2019 11:55 am
Sex Ago 02, 2019 2:48 am
Sex Ago 02, 2019 2:41 am
Sex Ago 02, 2019 2:36 am
Qui Ago 01, 2019 11:00 pm
Qui Ago 01, 2019 10:50 pm
Qui Ago 01, 2019 10:47 pm
Qui Ago 01, 2019 8:23 pm
Qua Jul 31, 2019 11:00 pm
HeroSword
Zack2
Tegh
SteveRogers
merike11
richerd
Édipo
Valakinhas
ovoPentelho
clarckquente
MarcosSchultz
artplayer
MarcosSchultz
Jhonyzin
MayLeone
Callyde Jr
MarcosSchultz
MayLeone
rafaelllsd
SteveRogers
lucaspoiob
Daniel Dória
nibirou
Daniel Dória
nibirou
Daniel Dória
daniel123163
SergioDB
Projeto Residentes Evil
lucaspoiob
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Dionilson
guimaraf
rafaelllsd
artplayer
Diguinho
Callyde Jr
MayLeone
lucaspoiob
Unidade3d5
MayLeone
MayLeone
dstaroski
RodriGO3477
SteveRogers
artplayer
dkrazor
Chilinger
numb123
Matrirxp
MarcosSchultz
Lonx SpellArtsStudio
MarcosSchultz
SteveRogers
ffabim
poyser
artplayer
artplayer
joffersoju
rafaelllsd
RodriGO3477
MarcosSchultz
Hamassfall
gtcmcsgo
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
iToddy
MayLeone
LardosJogos
artplayer
MarcosSchultz
MarcosSchultz
MarcosSchultz
dkrazor
abraao36
zZAndersonZz
speedluk
MarcosSchultz
MarcosSchultz
MarcosSchultz
Magnatah
Magnatah
Magnatah
iToddy
RodriGO3477

Entender um script

Ir em baixo

DÚVIDA Entender um script

Mensagem por Hamassfall em Dom Ago 04, 2019 11:38 am

Eu não estou conseguindo entender uma parte de um script e queria uma ajuda(se puder me explicar linha por linha eu agradeço). A parte q eu n entendo é essa: 

Código:
Collider2D[] colliders = new Collider2D[3];
            transform.Find("AttackCollider").gameObject.GetComponent<Collider2D>().OverlapCollider(new ContactFilter2D(), colliders);

            for(int i = 0; i < colliders.Length; i++)
            {
                if(colliders[i]!= null && colliders[i].gameObject.CompareTag("Enemy")){

                    Enemy.life2--;
                    if(Enemy.life2 == 0)
                    {
                        Destroy(colliders[i].gameObject);
                    }
                }

O código inteiro é esse:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


public class PlayerM : MonoBehaviour
{
    public int speed;
    public float jumpForce;
    public bool isGrounded;

    public Text textMaca;
    public Text textLife;

    public int maca;
    public int life;

    public GameObject lastCheckPoint;
    public GameObject attack;
    void Start()
    {
        textMaca.text = maca.ToString();
        textLife.text = life.ToString();
    }

   
    void Update()
    {
        Rigidbody2D rb = GetComponent<Rigidbody2D>();
        SpriteRenderer spr = GetComponent<SpriteRenderer>();
      float move = Input.GetAxisRaw("Horizontal");
        rb.velocity = new Vector2(move * speed, rb.velocity.y);

        if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
        {
            rb.AddForce(new Vector2(0, jumpForce));
        }

        if(move < 0)
        {
            spr.flipX = true;
        }
        else if(move > 0)
        {
            spr.flipX = false;
        }
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
            GetComponent<Animator>().SetTrigger("Hammer");
            Collider2D[] colliders = new Collider2D[3];
            transform.Find("AttackCollider").gameObject.GetComponent<Collider2D>().OverlapCollider(new ContactFilter2D(), colliders);

            for(int i = 0; i < colliders.Length; i++)
            {
                if(colliders[i]!= null && colliders[i].gameObject.CompareTag("Enemy")){

                    Enemy.life2--;
                    if(Enemy.life2 == 0)
                    {
                        Destroy(colliders[i].gameObject);
                    }
                }
            }
        }

    }

    void OnCollisionEnter2D(Collision2D eu)
    {
        Rigidbody2D rb = GetComponent<Rigidbody2D>();

        if (eu.gameObject.CompareTag("Enemy"))
        {
            life--;
            textLife.text = life.ToString();
            if (life == 0)
            {
                life = 3;
                textLife.text = life.ToString();
                transform.position = lastCheckPoint.transform.position;
            }
        }
       

        if (eu.gameObject.CompareTag("Platform"))
        {
            isGrounded = true;
        }
        if (eu.gameObject.CompareTag("Trampolim"))
        {
            rb.velocity = new Vector2(0f,10f);
        }
    }
    void OnCollisionExit2D(Collision2D eu)
    {
        if (eu.gameObject.CompareTag("Platform"))
        {
            isGrounded = false;
        }
    }

    void OnTriggerEnter2D(Collider2D eu2)
    {
        if (eu2.gameObject.CompareTag("maca"))
        {
            Destroy(eu2.gameObject);
            maca++;
            textMaca.text = maca.ToString();
        }

        if (eu2.gameObject.CompareTag("Portal"))
        {
            lastCheckPoint = eu2.gameObject;
        }
    }
}

Hamassfall
Iniciante
Iniciante

PONTOS : 35
REPUTAÇÃO : 0
Respeito as regras : Entender um script WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Entender um script

Mensagem por MayLeone em Dom Ago 04, 2019 4:25 pm

Não sei exatamente o contexto do script, mas tudo indica que a pessoa estoca dentro de um array todos os colliders de um objeto chamado "AttackCollider", que estejam colidindo com algo.
Depois verifica através do laço cada collider do array e se o collider tiver tag "Enemy", o inimigo perde uma vida, e quando chegar a zero, esse collider é destruído.
É o que o script parece estar fazendo, mas sem saber o contexto fica difícil mensurar se é isso mesmo.

Na primeira linha declara-se um array com 3  elementos do tipo Collider2D para estocar os possíveis colliders.
Depois, usa a função "Find" para encontar um objeto na cena com nome "AttackCollider", porém, usa-se a função OverlapCollider do componente de colisões para armazenar no array os colliders desse objeto que estão sobrepondo algo.
Daí na parte do for, percorre todos os elementos do array (colliders que estão colidindo com algo).
No If verifica se o elemento do array não é nulo (possivelmente para evitar de tentar ler ele se ele for destruído depois) e se a TAG daquele collider for "Enemy".
Se sim, decrementa a vida do inimigo, e verifica se a vida é zero, caso for, ele destrói esse elemento de colisão do laço.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1132
REPUTAÇÃO : 299
Áreas de atuação : Unity & C#
Respeito as regras : Entender um script Aad8pUi

Ver perfil do usuário 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