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:
Gostaria de compartilhar alguns PRINTS do meu FUTURO GAME!!!
DRAG AND SHOOT NA UNITY 3D
Preciso de animador 3D
Trocar de cena clicando
Extrair Textura de um objeto 3D
OnCollisionExit2D não funciona.
Rotação de tela na Unity
Toogle, é possível carregar estado de um PlayerPrefs?
[TUTORIAL] Shader de renderização baseada em física
É Possível destruir inimigos pela colisão?
Usar vector 2 para definir posição !
Alguém manja de iluminação na unity?
Pulo Na Unity projeto 3d
Como faço para atirar a bola na mesma direção que aponta a seta direcional?
Simulador de Controle de Tráfego Aéreo
Tenho um jogo disponivel na steam
Erro unity - textMeshPro
Transição de cenas
Como funciona o " sistema base" do game?
R$: Orçamento para um jogo 2D
Armadilha do Super Meat Boy
Tiro continuar em linha reta depois de chegar ao "alvo"
Jogo de Terror em Desenvolvimento, preciso de programador.
Problema do Animator Unity3D
UNITY REMOTE NÃO FUNCIONA O QUE FAZER?
Como pego um valor exato da rotação no transform?
Carregar personagem + scripts na nova cena
Itens coletados reaparecem na cena ao retornar para a fase
Como fazer player ir do chão pro teto e do teto pro chão (2D game)
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Queria ajuda para fazer um sistema de rastro no personagen
[TUTORIAL] Fazer objeto se mover em pontos diferentes (Serve para 2D e 3D).
Qual a melhor forma de fazer um efeito parecido com um launchpad[UNITY]?
dúvida para fazer sistema de som de passos em terreno
Movimentação de BoardGame
Produção de um Roteiro - Arquétipos.
Como gerenciar o Sorting Layer de varios objetos em cena
Como colocar um boneco pra andar pelo mapa?
Não tá dando mais Bake. O que pode ser?Não aparece mais as áreas em azul em
Como fazer um corredor ''infinito'' na unity?
Livro de Unity2D
Como posso saber quanto de memória o meu projeto está pesando?
Boas E velhas sombras alguem resolve??
Qual seria a maneira correta de fazer a rotação de um obj
Importar arquivos externo para dentro do unity em tempo de execução
Layouts de interface para Unity3D
Erro no meu jogo de plataforma 2D
Rapper Simulator (demo) mobile
Reduzir tamanho da textura
Unity + Photon 2
Game view incorreto
DUVIDA DO SISTEMA DE CORPO A CORPO
Erro no WebGl
Jogo 2D Multiplayer é trabalhoso?
Sistema completo de FPS, (by u/KFriske)
Preciso De Um Programador! Para Um Game Fps!
MOD MINECRAFT JAVA (Formação de Equipe).
2 Artistas procuram Programador experiente em UNITY 2D
OPORTUNIDADE DE FREELANCE
Busco alguem pra fazer algumas programações basicas (PAGO EM DINHEIRO)
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Alguém precisando de um artists pixel?
[TUTORIAL] Unity 2019.4 ou superior - PRESETS
[RESOLVIDO] Unity - Dúvida
A unity não abre o projeto!!
[Dúvida] Script retorna erro apenas quando não esta selecionado
[RESOLVIDO] Jogo 2D unity - trocar sprite ao apertar botão
WaitForSeconds não funciona
ToString(); não funciona
o meu terrain ficou branco como poss resolver?
Lançar Granada
Criação de um jogo de sobrevivência
[ASSET] UDost Jump Projeto
[TUTORIAL] Lanterna
[TUTORIAL] Sistema de Grappling Hook / Corda e Gancho
Não consigo interagir com o objeto no app
[RESOLVIDO] Criar textura com fundo transparente
Meu Projeto mobile 2D (RYB 2DASH)
como fazer meu personagem correr sozinho?
[_____CRONOGRAMA DO CANAL_____]
[ASSET] Script Arma Completo Incluso Recuo. Incluso outros Scripts
[RESOLVIDO] ALGUEM ME AJUDA COM A MUSICA NA UNITY
Por que a rotação do Box Collider não está certa?
Caminhar do inimigo!!
[RESOLVIDO] Animação não funciona - Unity 3D
Contratação de freelancer em programação para unity
build settings parou de funcionar!!!
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Como acelerar uma uma animação por script?
Jogo se conectando ao play games toda vez que inicia o menu.
procuro modeladores e artista para projeto de Moba
Criar tutorial antes do jogo
Parallax no Menu
[TUTORIAL] Como fazer um TELEPORTE
[Dúvida] comunicação de multiplas linguagens c/ o xml/json desempenho
Ajuda com INT
[RESOLVIDO] Clicar em um botão e o personagem se mover por uma distância.
Script de pegar um item/coletável pressionando a tecla ''E''
alterar Transform via script
Hoje à(s) 12:57 pm
Ontem à(s) 5:55 pm
Ontem à(s) 11:30 am
Ontem à(s) 9:27 am
Ontem à(s) 12:46 am
Sex Out 23, 2020 4:56 pm
Sex Out 23, 2020 12:56 pm
Qui Out 22, 2020 4:09 pm
Qui Out 22, 2020 11:50 am
Qua Out 21, 2020 10:10 pm
Qua Out 21, 2020 9:27 pm
Qua Out 21, 2020 1:01 pm
Ter Out 20, 2020 10:58 pm
Ter Out 20, 2020 8:36 pm
Ter Out 20, 2020 2:11 pm
Ter Out 20, 2020 1:17 pm
Ter Out 20, 2020 12:01 pm
Seg Out 19, 2020 9:09 pm
Seg Out 19, 2020 9:01 pm
Seg Out 19, 2020 3:34 pm
Seg Out 19, 2020 1:51 pm
Dom Out 18, 2020 11:33 pm
Dom Out 18, 2020 8:52 pm
Dom Out 18, 2020 8:02 pm
Dom Out 18, 2020 3:19 pm
Dom Out 18, 2020 1:26 pm
Sab Out 17, 2020 10:37 pm
Sab Out 17, 2020 10:01 pm
Sab Out 17, 2020 9:46 pm
Sab Out 17, 2020 8:56 pm
Sex Out 16, 2020 10:24 pm
Sex Out 16, 2020 9:56 pm
Sex Out 16, 2020 8:54 pm
Sex Out 16, 2020 1:24 pm
Sex Out 16, 2020 11:41 am
Sex Out 16, 2020 11:08 am
Sex Out 16, 2020 2:48 am
Qui Out 15, 2020 11:45 pm
Qui Out 15, 2020 9:58 pm
Qui Out 15, 2020 2:55 pm
Qui Out 15, 2020 2:49 pm
Qui Out 15, 2020 12:56 pm
Qui Out 15, 2020 10:32 am
Qui Out 15, 2020 4:20 am
Qui Out 15, 2020 12:00 am
Qua Out 14, 2020 11:42 pm
Qua Out 14, 2020 10:03 pm
Qua Out 14, 2020 9:29 pm
Qua Out 14, 2020 7:34 pm
Qua Out 14, 2020 7:31 pm
Qua Out 14, 2020 7:25 pm
Qua Out 14, 2020 7:15 pm
Qua Out 14, 2020 7:09 pm
Ter Out 13, 2020 11:15 pm
Ter Out 13, 2020 7:14 pm
Ter Out 13, 2020 1:58 pm
Ter Out 13, 2020 1:55 pm
Ter Out 13, 2020 1:53 pm
Ter Out 13, 2020 1:52 pm
Ter Out 13, 2020 1:51 pm
Ter Out 13, 2020 11:37 am
Ter Out 13, 2020 1:07 am
Seg Out 12, 2020 10:47 am
Dom Out 11, 2020 10:52 pm
Dom Out 11, 2020 7:53 pm
Dom Out 11, 2020 7:50 pm
Dom Out 11, 2020 7:45 pm
Dom Out 11, 2020 7:21 pm
Dom Out 11, 2020 4:26 pm
Dom Out 11, 2020 8:07 am
Sab Out 10, 2020 11:10 am
Sex Out 09, 2020 9:18 pm
Sex Out 09, 2020 3:42 pm
Sex Out 09, 2020 2:21 pm
Sex Out 09, 2020 1:10 pm
Sex Out 09, 2020 11:39 am
Sex Out 09, 2020 2:06 am
Qui Out 08, 2020 8:21 pm
Qui Out 08, 2020 5:14 pm
Qui Out 08, 2020 5:07 pm
Qui Out 08, 2020 10:33 am
Qua Out 07, 2020 4:50 pm
Qua Out 07, 2020 8:48 am
Seg Out 05, 2020 10:19 pm
Seg Out 05, 2020 10:13 am
Seg Out 05, 2020 10:00 am
Seg Out 05, 2020 6:52 am
Seg Out 05, 2020 5:09 am
Dom Out 04, 2020 9:35 pm
Dom Out 04, 2020 6:23 pm
Dom Out 04, 2020 4:13 pm
Dom Out 04, 2020 12:37 am
Dom Out 04, 2020 12:35 am
Dom Out 04, 2020 12:29 am
Dom Out 04, 2020 12:27 am
Sab Out 03, 2020 11:54 pm
Sab Out 03, 2020 8:15 am
Sex Out 02, 2020 7:08 pm
Sex Out 02, 2020 5:33 pm
glauco
cafezinho71
Brunotrinks
LlucasBRDev
Evertonslv
OtkChan
JulioWinchester
Inequalis
glauco
OtkChan
AndryelBlanco
glauco
TDM Corp
Wily
joz
diegopds
orph
Micco
Micco
Ki
Wily
Shidote
thales.ulisses
darkrj
NKKF
Liherbert
TDM Corp
Fagner
nvndx
TDM Corp
Arturzeraa
ecorrea
TioUV
Franttyck
Fagner
cosmoplay
drewhonshu
leandrabr
RodrigoPrivilegium
cafezinho71
leandrabr
glauco
rondon2014
Fagner
Evertonslv
Evertonslv
El Marquitoos
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Markimg22
leandrabr
Ki
Ki
Ki
Ki
Ki
ViniciusTKH
Pancakemix
MarcosSchultz
Hiyuzo
MarcosSchultz
MarcosSchultz
deathmasterxz
MarcosSchultz
NKKF
LUCASkkk
marx478
PacienteZERO
FelipeSouza11
Toxic
cafezinho71
NKKF
Evertonslv
TioUV
MarcosSchultz
MarcosSchultz
cafezinho71
SauloeArthur
glauco
Callyde Jr
PedrinHFS
orph
SauloeArthur
cafezinho71
JulioWinchester
pratesgamedev
Valakinhas
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Markimg22
AmazingDeliciano
Fagner

Tiro continuar em linha reta depois de chegar ao "alvo"

Ir em baixo

DÚVIDA Tiro continuar em linha reta depois de chegar ao "alvo"

Mensagem por Shidote em Sab Out 17, 2020 11:29 pm

Queria uma ajuda para fazer o inimigo atirar em uma posição passada do player, porem depois chegar nessa posição ele continue seguindo em linha reta.

meu script ate o momento faz o tiro segui ate uma posição passada do inimigo, porem quando chega nessa posição ele para e se destroy depois de um tempo (como se explodisse) -fiz desse jeito pq não consegui fazer ele seguir em linha reta-:


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

public class tiroDoisChefe : MonoBehaviour
{   
    public float speed;
    public GameController controller;
    private float[] targetPlayer;
    public float targetX;
    public float targetY;
    public GameObject explosao;
    public Animator animState;
    public bool spawned = false;
    private Vector2 player;
    private Vector2 tiroPosition;
    
    void Start(){
        controller = FindObjectOfType<GameController>();
        StartCoroutine(animationTiro());
        
    }

    
    void Update(){
        
        player = new Vector2(targetX + 0.61f, targetY + 0.43783832f); // ajustar posição do sprite
        tiroPosition = gameObject.transform.position;
        if (spawned == true){
            transform.position = Vector2.MoveTowards(transform.position, new Vector2(targetX + 0.61f, targetY + 0.43783832f), (speed) * Time.deltaTime);
            if (player.Equals(tiroPosition)){
                animState.SetInteger("transition", 2);
                Destroy(gameObject, 1f);
                
            }
        }
    }

    void OnTriggerEnter2D(Collider2D colisor){
        
        if (colisor.gameObject.CompareTag("player")){
            controller.lifeLose -=1;
            Destroy(gameObject);
        }
        
    }
    IEnumerator animationTiro(){

        animState.SetInteger("transition", 0); // animação de aparecer o tiro
        yield return new WaitForSecondsRealtime(0.5f); //espera primeira animação acabar
        animState.SetInteger("transition", 1); // começa animação de brilho do tiro 

        spawned = true; //confirma que foi feito a primeira animação
        targetX = GameObject.FindGameObjectWithTag("player").GetComponent<Transform>().position.x;
        targetY = GameObject.FindGameObjectWithTag("player").GetComponent<Transform>().position.y; // pega posição atual do player
        
        yield return new WaitForSecondsRealtime(10f);
    }
}



Shidote
Iniciante
Iniciante

PONTOS : 54
REPUTAÇÃO : 0
Respeito as regras : Tiro continuar em linha reta depois de chegar ao "alvo" WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Tiro continuar em linha reta depois de chegar ao "alvo"

Mensagem por Fagner em Dom Out 18, 2020 7:08 pm

Ao invés de mover pra uma posição específica, você calcula a direção:
(player.posição - tiro.position).normalized;
o normalized vai fazer essa direção ter a magnitude 1, impedindo que a bala tenha velocidades diferentes dependendo da distância.
Depois basta mover usando a posição atual + direção, algo assim:
Código:
using UnityEngine;

public class MoverDirecao : MonoBehaviour
{
    public RectTransform player, bala;
    private bool atirar;


    Vector2 direcaoPlayer;

    private void Start()
    {
        bala = GetComponent<RectTransform>();
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            atirar = true;
            direcaoPlayer = (player.localPosition - bala.localPosition).normalized;
        }

        if (atirar)
        {
            bala.localPosition = Vector2.MoveTowards(bala.localPosition, (Vector2)bala.localPosition + direcaoPlayer, 50 * Time.deltaTime);
        }
    }
}
Fagner
Fagner
Moderador

Masculino PONTOS : 2354
REPUTAÇÃO : 425
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras : Tiro continuar em linha reta depois de chegar ao "alvo" Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Tiro continuar em linha reta depois de chegar ao "alvo"

Mensagem por Shidote em Dom Out 18, 2020 11:33 pm

Obrigado, consegui fazer, mas queria tirar uma duvida: no meu jogo os inimigos fica atirando automático, não é ativado por tecla então n tem como eu colocar esse calculo do vetor de direção dentro de um if no update, e se eu colocar no start so vai fazer uma vez no inicio, dai a única solução que consegui descobrir foi colocar esse calculo dentro de um Inumerator e colocar um WaitForSecond com um tempo que o objeto ja vai ser destruido antes no Inumerator pra ele n fazer esse calculo novamente,  existe outro jeito de fazer isso sem precisar chamar um Inumerator?


o código ficou assim:

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

public class tiroDoisChefe : MonoBehaviour
{   
    public float speed;
    public GameController controller;
    public Animator animState;
    public bool spawned = false;
    private RectTransform player;
    private RectTransform tiroPosition;
    private Vector2 direcaoPlayer;
    
    void Start(){
        controller = FindObjectOfType<GameController>();
        StartCoroutine(animationTiro());
        tiroPosition = GetComponent<RectTransform>();
    }

    
    void Update(){
        
        if (spawned == true){
            
            tiroPosition.localPosition = Vector2.MoveTowards(tiroPosition.localPosition, (Vector2)tiroPosition.localPosition + direcaoPlayer, (speed) * Time.deltaTime);
        }
    }

    void OnTriggerEnter2D(Collider2D colisor){
        
        if (colisor.gameObject.CompareTag("player")){
            controller.lifeLose -=1;
            Destroy(gameObject);
        }
        // destruir o objeto se ele chegar nos limites da fase
        if ((colisor.gameObject.CompareTag("costa")) || (colisor.gameObject.CompareTag("cima")) || (colisor.gameObject.CompareTag("baixo")) || (colisor.gameObject.CompareTag("frente"))){
            Destroy(gameObject, 1f);
        }
        
    }
    IEnumerator animationTiro(){

        animState.SetInteger("transition", 0); // animação de aparecer o tiro
        yield return new WaitForSecondsRealtime(0.5f); //espera primeira animação acabar
        animState.SetInteger("transition", 1); // começa animação de brilho do tiro 

        spawned = true; //confirma que foi feito a primeira animação
        player = GameObject.FindGameObjectWithTag("player").GetComponent<RectTransform>(); // pegar a cordenada do objeto
        direcaoPlayer = (player.localPosition - tiroPosition.localPosition).normalized; // pega vetor direção em relação do tipo-pra posição capturada do player
    
        yield return new WaitForSecondsRealtime(10f); // espera 10s pra não atualizar a posição do player, para não ficar seguindo ele 
    }
}


Shidote
Iniciante
Iniciante

PONTOS : 54
REPUTAÇÃO : 0
Respeito as regras : Tiro continuar em linha reta depois de chegar ao "alvo" WvDYdlf

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