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:
Delay na animação
Utilizar um software que não pode ser usado para fins comerciais
Unity 3D Pulo do Personagem na hora em que o Personagem está saindo do chão
Colocar o código certo para abrir porta
Ajuda em documentação de shader
+1 OW 2
movimtnos com Motodo void
Bug unity android UI
Component Cloth unity
Inimigo detecta outro Inimigo.
Instanciar objetos e controla los!!
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
List
não deixar que exista dois DontDestroyOnLoad
Cronometro par Inimigo como se faz ?
Peso de processamento de modelos 3D
[TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D
Passar texturas de Maya para unity
Assets tirando fisica do terreno
teleportar o player quando ele cair fora do mapa
3D Text Material Sobressalente
Passar as texturas do Blender para a Unity
Não consigo alterar "nada" no unity
Erro no SketchUP
Como habilitar um scritpt depois que ele foi desabilitado
Arrastar e conectar
Math Key Puzzle (Disponível na Play Store)
(Duvida) Melhor versão da unity para projetos 3D
Como criar uma Barra de Ataque speed para um personagem
Script não funcionando.
Eixos trocados na movimentação do jogador
Como desenvolver um sistema de colisão sem usar os componentes da Unity?
Collab Arruinando meu Projeto
Oportunidade de Freelancer
Alguém sabe como criar um objeto aleatório
Movimentação de jogador através de animação
Achar objeto que não esta na cena
Chamar um objeto FBX para a cena por meio de um botão
(Dúvida) dificuldade em modelagem e animações
Como faço pra um objeto/item acionar um evento?
Como posso fazer uma barra de vida encher denovo
Textura escura
Animação em texto
Mesh Collider
[FORMAÇÃO DE EQUIPE] PERSONAGENS E ITENS PIXEL ART
Top Tipos de Jogos Mobile Android
Programe seus jogos mesmo sem saber C# (BOLT ⚡)
Dúvida sobre Character Controller
Testadores/ Voluntários - De olho na fake (jogo Educativo)
Ajuda com Cutscene
Ajuda com key em script
BTD(Brazil Tower Defense) WIP
Como criar vários objetos a partir de um? (Unity)
Objeto 3D
Posição bloco/tile endless 2D
Como acessar a função de um outro Script? (Unity)
todo filho herda a tag do pai ?
[TUTORIAL] Como fazer um TELEPORTE
Duvida sobre exceso de declaracao de variaveis publicas.
Como aumentar o tamanho de um objeto no eixo Z por um slider?
Duvida sobre proteção de projeto na unity.
Como jogo o valor de uma Int em uma IEnumerator?
Como faço para desativar o pós-processamento em outra cena
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Textura no material importado
PHP
Ajuda em Modelo 3D
Como limitar ate onde a câmera do unity2D pode ir?
Standard Assets para UNITY 5 em ".unitypackage"
Como faço pra carregar os itens de uma Cena Para outra?
Joystick mobile
Cenário se reposicionar no eixo z, quando o player se move pelo cenário.
Mudar a cor de um material Alpha Blended por script
como faço para o personagem andar só que no ar?
[TUTORIAL] Teleporte
Ajuda com IA de inimigo
Qual o tutorial mais simples sobre criar um personagem 3d com melee attack?
Colider--Unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
Como rodar tela de Gameover?
(Duvida) Como criar um sistema de dialogos?
carregar um mapa por .txt
Como obter dados do Grid Layout Group.
Camera em primeira pessoa que mostra o corpo
Plataforma Flutuante
como faço um multiplayer na unity 5?
SCRIPT TIRO - UNITY 3d
Online Shooting Android
Um projeto sem nome ainda (Fazendo nas horas vagas)
[ FIND ME ] Game em Desenvolvimento
[Projeto em Andamento] Favela Combat - Multiplayer online (Android & iOS)
Baixos Brasil - Jogo de Carro Brasileiro!
Riders Of Dungeons - Jogo RPG Souls like
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Duvida sobre .asset
Escape from the hospital (Em teste)
Ajuda com gameObject
Ajuda com erro no package de pós-processamento
Shader Graph, mateiral rosa???
Hoje à(s) 3:12 am
Hoje à(s) 2:05 am
Ontem à(s) 10:55 pm
Ontem à(s) 7:47 pm
Ontem à(s) 7:41 pm
Qua Abr 14, 2021 8:17 pm
Qua Abr 14, 2021 4:47 pm
Ter Abr 13, 2021 8:17 pm
Ter Abr 13, 2021 7:45 pm
Ter Abr 13, 2021 6:17 pm
Ter Abr 13, 2021 2:57 pm
Ter Abr 13, 2021 10:08 am
Dom Abr 11, 2021 3:31 pm
Dom Abr 11, 2021 12:03 am
Sab Abr 10, 2021 2:47 pm
Sex Abr 09, 2021 10:11 pm
Sex Abr 09, 2021 5:23 pm
Sex Abr 09, 2021 2:10 pm
Sex Abr 09, 2021 1:21 pm
Qui Abr 08, 2021 8:11 pm
Qui Abr 08, 2021 8:06 pm
Qui Abr 08, 2021 6:50 pm
Qui Abr 08, 2021 6:44 pm
Qui Abr 08, 2021 11:24 am
Qui Abr 08, 2021 11:23 am
Qui Abr 08, 2021 8:17 am
Qua Abr 07, 2021 8:34 pm
Qua Abr 07, 2021 7:39 pm
Qua Abr 07, 2021 5:27 pm
Qua Abr 07, 2021 3:27 pm
Qua Abr 07, 2021 12:03 pm
Qua Abr 07, 2021 8:43 am
Qua Abr 07, 2021 6:27 am
Ter Abr 06, 2021 1:17 pm
Ter Abr 06, 2021 12:44 pm
Ter Abr 06, 2021 12:40 pm
Seg Abr 05, 2021 3:41 pm
Seg Abr 05, 2021 1:19 pm
Dom Abr 04, 2021 11:55 pm
Dom Abr 04, 2021 10:02 pm
Dom Abr 04, 2021 7:03 pm
Dom Abr 04, 2021 5:53 pm
Dom Abr 04, 2021 12:14 pm
Dom Abr 04, 2021 1:06 am
Sab Abr 03, 2021 8:26 pm
Sab Abr 03, 2021 8:06 pm
Sab Abr 03, 2021 7:20 pm
Sab Abr 03, 2021 1:23 pm
Sex Abr 02, 2021 2:14 am
Qui Abr 01, 2021 9:34 pm
Qui Abr 01, 2021 5:18 pm
Qui Abr 01, 2021 4:57 pm
Qui Abr 01, 2021 7:42 am
Qua Mar 31, 2021 9:36 pm
Qua Mar 31, 2021 10:41 am
Ter Mar 30, 2021 8:53 pm
Ter Mar 30, 2021 8:49 pm
Ter Mar 30, 2021 3:10 pm
Ter Mar 30, 2021 1:38 pm
Ter Mar 30, 2021 12:35 pm
Seg Mar 29, 2021 11:07 pm
Seg Mar 29, 2021 8:37 pm
Seg Mar 29, 2021 8:16 pm
Seg Mar 29, 2021 5:32 pm
Seg Mar 29, 2021 1:53 pm
Dom Mar 28, 2021 4:13 pm
Dom Mar 28, 2021 1:19 am
Dom Mar 28, 2021 12:17 am
Sab Mar 27, 2021 10:30 pm
Sab Mar 27, 2021 8:33 pm
Sab Mar 27, 2021 8:06 pm
Sab Mar 27, 2021 2:51 pm
Sab Mar 27, 2021 8:53 am
Sab Mar 27, 2021 8:05 am
Sex Mar 26, 2021 3:15 pm
Sex Mar 26, 2021 12:50 pm
Sex Mar 26, 2021 8:28 am
Sex Mar 26, 2021 7:05 am
Qui Mar 25, 2021 7:16 pm
Qui Mar 25, 2021 7:13 pm
Qui Mar 25, 2021 2:44 pm
Qui Mar 25, 2021 11:20 am
Qui Mar 25, 2021 9:15 am
Qua Mar 24, 2021 7:56 pm
Qua Mar 24, 2021 7:53 pm
Qua Mar 24, 2021 6:54 pm
Qua Mar 24, 2021 1:01 pm
Qua Mar 24, 2021 12:27 pm
Qua Mar 24, 2021 12:04 pm
Qua Mar 24, 2021 12:03 pm
Qua Mar 24, 2021 12:02 pm
Qua Mar 24, 2021 11:59 am
Qua Mar 24, 2021 11:56 am
Qua Mar 24, 2021 10:08 am
Ter Mar 23, 2021 10:35 pm
Ter Mar 23, 2021 9:49 pm
Ter Mar 23, 2021 5:14 pm
Ter Mar 23, 2021 1:59 pm
Ter Mar 23, 2021 10:32 am
WLCS22
WLCS22
WLCS22
Joana
Joana
hellside
dutrabr100
poyser
capim22
hellside
dutrabr100
RenanHero
Kleber Lucas
diegopds
dutrabr100
ronigleydson
Chilinger
ffabim
tendrozino
gui78h3
MRX
Magnatah
Magnatah
Edivandro2706
Kleber Lucas
Pokedlg
poyser
poyser
kingalphaz1
BrunaFelicio
backup
dutrabr100
conceptfac
Chilinger
luizphelipe
dutrabr100
dutrabr100
SauloeArthur
poyser
Triskal
luizphelipe
darkrj
dutrabr100
Anderson Mello
tulio filipe
rr indie games
Triskal
rr indie games
danielPedra90
Triskal
Triskal
rr indie games
PauloR2811
diegopds
LGC
Pokedlg
adenilson romao
Triskal
rr indie games
Fagner
loucoporjogo
rafaelllsd
Charlesoff
michelcreis@hotmail.com
Edivandro2706
Fagner
adrianobros2
Sergio1223
Zyll
Triskal
RGT2020
dutrabr100
jeancvo3
dkdetroi
Triskal
Charlesoff
dutrabr100
Fagner
dutrabr100
SamusAran
MayLeone
gui78h3
loucoporjogo
RGT
RGT
RGT
faustommat
Daniel Dória
bobESquisito
bobESquisito
bobESquisito
bobESquisito
bobESquisito
michelcreis@hotmail.com
Suphit
bobESquisito
Pokedlg
Charlesoff
Mafuyu

Como acessar uma variável de outro script sem saber o objeto?

Ir em baixo

DÚVIDA Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Atho Seg Nov 16, 2020 11:29 pm

Olá pessoal. Estou precisando saber como eu conseguiria acessar a variável de outro script sem que precisasse referenciar o objeto que utiliza esse script? Apenas chamando o script mesmo. Tem como?

Exemplo:
- No script "A" contém a variável "valor1" e este script está associado a uma pedra.
- No script "B" contém a variável "valor2" e este script está associado ao player.

sei que para fazer a variável "valor1" ter o mesmo valor da variável "valor2" eu só precisaria colocar no script "A" o comando "valor1 = player.GetComponent<Script B>().valor2"

A questão é se tem como fazer a mesma coisa sem saber quem é o objeto que utiliza o script "B" (nesse caso, o player)? 

Seria possível? Como?

Atho
Iniciante
Iniciante

Masculino PONTOS : 574
REPUTAÇÃO : 8
Idade : 27
Áreas de atuação : Programador de Jogos Digitais em C# na Unity
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Pokedlg Ter Nov 17, 2020 12:03 am

@Atho escreveu:Olá pessoal. Estou precisando saber como eu conseguiria acessar a variável de outro script sem que precisasse referenciar o objeto que utiliza esse script? Apenas chamando o script mesmo. Tem como?

Exemplo:
- No script "A" contém a variável "valor1" e este script está associado a uma pedra.
- No script "B" contém a variável "valor2" e este script está associado ao player.

sei que para fazer a variável "valor1" ter o mesmo valor da variável "valor2" eu só precisaria colocar no script "A" o comando "valor1 = player.GetComponent<Script B>().valor2"

A questão é se tem como fazer a mesma coisa sem saber quem é o objeto que utiliza o script "B" (nesse caso, o player)? 

Seria possível? Como?
Na verdade tem como vc referenciar o objeto criando uma public GameObject, seria bem mais rapido. Mas sem referenciar, vc pode acessar a variavel de outro script criando uma variavel static, a variavel static é usada para q outros scripts possam acessar elas mesmo estando em outros objetos, no caso a pedra e o player do seu exemplo. Se precisar de ajuda para fazer a varivael static é só falar.
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 776
REPUTAÇÃO : 117
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Atho Ter Nov 17, 2020 7:52 am

@Pokedlg escreveu:
@Atho escreveu:Olá pessoal. Estou precisando saber como eu conseguiria acessar a variável de outro script sem que precisasse referenciar o objeto que utiliza esse script? Apenas chamando o script mesmo. Tem como?

Exemplo:
- No script "A" contém a variável "valor1" e este script está associado a uma pedra.
- No script "B" contém a variável "valor2" e este script está associado ao player.

sei que para fazer a variável "valor1" ter o mesmo valor da variável "valor2" eu só precisaria colocar no script "A" o comando "valor1 = player.GetComponent<Script B>().valor2"

A questão é se tem como fazer a mesma coisa sem saber quem é o objeto que utiliza o script "B" (nesse caso, o player)? 

Seria possível? Como?
Na verdade tem como vc referenciar o objeto criando uma public GameObject, seria bem mais rapido. Mas sem referenciar, vc pode acessar a variavel de outro script criando uma variavel static, a variavel static é usada para q outros scripts possam acessar elas mesmo estando em outros objetos, no caso a pedra e o player do seu exemplo. Se precisar de ajuda para fazer a varivael static é só falar.

Nunca fiz uma variável estática. Gostaria de ajuda sim.

Esqueci de dizer que ambas as variáveis são float.

Atho
Iniciante
Iniciante

Masculino PONTOS : 574
REPUTAÇÃO : 8
Idade : 27
Áreas de atuação : Programador de Jogos Digitais em C# na Unity
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Pokedlg Ter Nov 17, 2020 10:13 am

@Atho escreveu:Nunca fiz uma variável estática. Gostaria de ajuda sim.

Esqueci de dizer que ambas as variáveis são float.
No script A

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


public class ScriptA : MonoBehaviour {

    public static float valor1; //crie uma variavel statica
    

    
    void Start () {
        
    }
    
    
    void Update () {
        
    }
}
No script B:

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

public class ScriptB : MonoBehaviour {
    
    public float valor2; //crie uma variavel no scriptB
  
    void Start () {
        ScrpitA.valor1 = valor2; //coloque o nome do scrpit q quer acessar a variavel estatica, coloque o nome dela e de a ela um valor

    }
    
    
    void Update () {
        
    }
}
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 776
REPUTAÇÃO : 117
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Atho Ter Nov 17, 2020 10:22 pm

@Pokedlg escreveu:
@Atho escreveu:Nunca fiz uma variável estática. Gostaria de ajuda sim.

Esqueci de dizer que ambas as variáveis são float.
No script A

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


public class ScriptA : MonoBehaviour {

    public static float valor1; //crie uma variavel statica
    

    
    void Start () {
        
    }
    
    
    void Update () {
        
    }
}
No script B:

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

public class ScriptB : MonoBehaviour {
    
    public float valor2; //crie uma variavel no scriptB
  
    void Start () {
        ScrpitA.valor1 = valor2; //coloque o nome do scrpit q quer acessar a variavel estatica, coloque o nome dela e de a ela um valor

    }
    
    
    void Update () {
        
    }
}


Nossa. MUITO obrigado mesmo. Resolveu meu problema.

Já que estou aqui vou aproveitar para tirar mais uma dúvida. Não sei se pode, caso não possa, só avisar que apago.

Eu fiz um sistema de spawn onde um objeto é instanciado em uma posição aleatória dentre duas posições que limitei. Isso eu fiz de boa.

Como fazer para que esse mesmo sistema consiga instanciar varios objetos diferentes aleatoriamente ao invés de só um? Vou enviar o script para que entenda.
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
using Photon.Realtime;

public class SpawnAlimentos : MonoBehaviour
{
    //Esse script todo foi feito pelo Emerson


    public Transform alimentoPrefab;

    public static float contador;

    public GameObject Play;

    public float spawnRate = 3f; //a cada 2 seg vai criar

 

    public Transform camera;

    // Start is called before the first frame update
    void Start()

    {
        InvokeRepeating("Spawn", spawnRate, spawnRate);

       

    }

    private void Spawn()
    {

        if (contador <= 3)
        {
            var doceTransform = Instantiate(alimentoPrefab, camera) as Transform;

           
          doceTransform.position = new Vector3(Random.Range(Random.Range(camera.transform.position.x + 10, camera.transform.position.x + 31), Random.Range(camera.transform.position.x - 10, camera.transform.position.x - 31)),
                                                Random.Range(Random.Range(camera.transform.position.y + 6,  camera.transform.position.y + 22), Random.Range(camera.transform.position.y - 6,  camera.transform.position.y - 22)),
                                                                                                                            0);


         
           
           
        }

     


    }

   

}

Atho
Iniciante
Iniciante

Masculino PONTOS : 574
REPUTAÇÃO : 8
Idade : 27
Áreas de atuação : Programador de Jogos Digitais em C# na Unity
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Pokedlg Ter Nov 17, 2020 10:53 pm

Voce qr que instancie diferentes objetos? Exemplo: Aleatoriamente instancia, diferentes objetos, objeto 1, objeto 2, objeto 3... . É isso? É q n entendi mt bem sua prgnt
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 776
REPUTAÇÃO : 117
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Atho Qua Nov 18, 2020 12:04 am

@Pokedlg escreveu:Voce qr que instancie diferentes objetos? Exemplo: Aleatoriamente instancia, diferentes objetos, objeto 1, objeto 2, objeto 3... . É isso? É q n entendi mt bem sua prgnt

Exatamente isso.

Quero que instancie varios objetos (objeto 1, objeto 2, objeto 3...) e que seja aleatório. O jogo decida qual será instanciado. 

O mesmo esquema que fiz no script porém com vários objetos, não apenas um.

Aí seriam criados objetos aleatórios em locais aleatórios dentro do cenário.

Atho
Iniciante
Iniciante

Masculino PONTOS : 574
REPUTAÇÃO : 8
Idade : 27
Áreas de atuação : Programador de Jogos Digitais em C# na Unity
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Pokedlg Qua Nov 18, 2020 12:28 am

@Atho escreveu:
@Pokedlg escreveu:Voce qr que instancie diferentes objetos? Exemplo: Aleatoriamente instancia, diferentes objetos, objeto 1, objeto 2, objeto 3... . É isso? É q n entendi mt bem sua prgnt

Exatamente isso.

Quero que instancie varios objetos (objeto 1, objeto 2, objeto 3...) e que seja aleatório. O jogo decida qual será instanciado. 

O mesmo esquema que fiz no script porém com vários objetos, não apenas um.

Aí seriam criados objetos aleatórios em locais aleatórios dentro do cenário.

Vc terá que fazer uma array. Voce poderá modificar do jeito q desejar. Aqui está um exemplo:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Script : MonoBehaviour {

   public GameObject[] objetos; //quantos objetos poderao ser gerados aleatoriamente
   public int objetoSorteado; //variavel com numero inteiro, será o valor gerado

   void Start () {
      objetoSorteado = Random.Range(0, objetos.Length); //irá gerar um valor aleatório entre 0 e o tamanho do vetor objetos
      Instantiate (objetos[objetoSorteado]); //irá instanciar o objeto de acordo com o valor gerado
   }
   
   void Update () {

   }
}


No inspector do unity, no valor Size coloque o tanto de objetos q vc qr q pode ser gerado (exemplo):

Como acessar uma variável de outro script sem saber o objeto? WG66z6zTppYpAAAAABJRU5ErkJggg==

Quando colocar um valor, irá aparecer os objetos para vc colocar:

Como acessar uma variável de outro script sem saber o objeto? PTxeIGCjUPygkPcdVASL4dbMFn37B5zF3BiIGGHEApSpAJI8FYDmzAxJAxL5sVn9fNuvuzn5MXBfcDES8JzAGOO45YBCxL5vV95fNynV+uVbkOsrtP+DJTox3L1ybF5uXeqgBAxHbnfT4VamHorZjKBacfRBpaGggazYHVgNWA2lqYNy4cdTHkLtY5Lb5tvmupxqwyxm7nLHLGauBTDVgIGIFlKmA6ukX1Y4l3Q7RQMRAxEDEaiBTDRiIWAFlKiD79U73611P82YgYiBiIGI1kKkGDESsgDIVUD39otqxpNtVGYgYiBiIWA1kqgEGkf8HVdBOimXg4CIAAAAASUVORK5CYII=

Depois é só colocar os objetos um em cada elemento.
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 776
REPUTAÇÃO : 117
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Atho Sab Nov 21, 2020 9:48 am

@Pokedlg escreveu:
@Atho escreveu:
@Pokedlg escreveu:Voce qr que instancie diferentes objetos? Exemplo: Aleatoriamente instancia, diferentes objetos, objeto 1, objeto 2, objeto 3... . É isso? É q n entendi mt bem sua prgnt

Exatamente isso.

Quero que instancie varios objetos (objeto 1, objeto 2, objeto 3...) e que seja aleatório. O jogo decida qual será instanciado. 

O mesmo esquema que fiz no script porém com vários objetos, não apenas um.

Aí seriam criados objetos aleatórios em locais aleatórios dentro do cenário.

Vc terá que fazer uma array. Voce poderá modificar do jeito q desejar. Aqui está um exemplo:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Script : MonoBehaviour {

 public GameObject[] objetos; //quantos objetos poderao ser gerados aleatoriamente
 public int objetoSorteado; //variavel com numero inteiro, será o valor gerado

 void Start () {
 objetoSorteado = Random.Range(0, objetos.Length); //irá gerar um valor aleatório entre 0 e o tamanho do vetor objetos
 Instantiate (objetos[objetoSorteado]); //irá instanciar o objeto de acordo com o valor gerado
 }
 
 void Update () {

 }
}


No inspector do unity, no valor Size coloque o tanto de objetos q vc qr q pode ser gerado (exemplo):

Como acessar uma variável de outro script sem saber o objeto? WG66z6zTppYpAAAAABJRU5ErkJggg==

Quando colocar um valor, irá aparecer os objetos para vc colocar:

Como acessar uma variável de outro script sem saber o objeto? PTxeIGCjUPygkPcdVASL4dbMFn37B5zF3BiIGGHEApSpAJI8FYDmzAxJAxL5sVn9fNuvuzn5MXBfcDES8JzAGOO45YBCxL5vV95fNynV+uVbkOsrtP+DJTox3L1ybF5uXeqgBAxHbnfT4VamHorZjKBacfRBpaGggazYHVgNWA2lqYNy4cdTHkLtY5Lb5tvmupxqwyxm7nLHLGauBTDVgIGIFlKmA6ukX1Y4l3Q7RQMRAxEDEaiBTDRiIWAFlKiD79U73611P82YgYiBiIGI1kKkGDESsgDIVUD39otqxpNtVGYgYiBiIWA1kqgEGkf8HVdBOimXg4CIAAAAASUVORK5CYII=

Depois é só colocar os objetos um em cada elemento.
Cara. Não sei exatamente porque a minha resposta não foi publicada aqui. Respondi no dia já. Não era minha intenção deixar no vácuo. Quero agradecer pelo auxílio. Acabei fazendo um pouco diferente do que sugeriste, mas a lógica usada por ti me fez conseguir chegar no que eu queria.
Muito Obrigado mesmo.

Atho
Iniciante
Iniciante

Masculino PONTOS : 574
REPUTAÇÃO : 8
Idade : 27
Áreas de atuação : Programador de Jogos Digitais em C# na Unity
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Pokedlg Sab Nov 21, 2020 1:58 pm

D boa man, dnd Curti isso
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 776
REPUTAÇÃO : 117
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Atho Sab Nov 21, 2020 2:40 pm

@Pokedlg escreveu:D boa man, dnd Curti isso
Vou aproveitar pra fazer oura pergunta. Tu entende algo de Photon na unity?

Atho
Iniciante
Iniciante

Masculino PONTOS : 574
REPUTAÇÃO : 8
Idade : 27
Áreas de atuação : Programador de Jogos Digitais em C# na Unity
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Pokedlg Sab Nov 21, 2020 4:31 pm

@Atho escreveu:
@Pokedlg escreveu:D boa man, dnd Curti isso
Vou aproveitar pra fazer oura pergunta. Tu entende algo de Photon na unity?
A unica coisa que sei sobre Photon é que ele serve para jogos multiplayers Closed Eyes , mas nao sei como usa nao
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 776
REPUTAÇÃO : 117
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Atho Dom Nov 22, 2020 11:17 am

@Pokedlg escreveu:
@Atho escreveu:
@Pokedlg escreveu:D boa man, dnd Curti isso
Vou aproveitar pra fazer oura pergunta. Tu entende algo de Photon na unity?
A unica coisa que sei sobre Photon é que ele serve para jogos multiplayers Closed Eyes , mas nao sei como usa nao
Risonho Risonho Risonho De boas. Valeu cara. Abraço e sucesso pra ti.

Atho
Iniciante
Iniciante

Masculino PONTOS : 574
REPUTAÇÃO : 8
Idade : 27
Áreas de atuação : Programador de Jogos Digitais em C# na Unity
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Portela Dom Nov 22, 2020 4:03 pm

Gente não abri outro topicó porque creio que é relacionado, como referenciar o InputField de outro script para mudar o text do atual.
tava fazendo assim:
void Update(){
GetComponent<TextMesh>().text = PlayerManager.Asstorre.text;}


e Asstorre é um "public static InputField" dentro do PlayerManager.

mas ele dá o erro:

Object reference not set to an instance of an object
ASStorre.Update () (at Assets/Prefabs/ASStorre.cs:23)

help pls !
Portela
Portela
Membro
Membro

Masculino PONTOS : 419
REPUTAÇÃO : 5
Áreas de atuação : Noob/gambirreiro
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Pokedlg Dom Nov 22, 2020 4:32 pm

@Portela escreveu:Gente não abri outro topicó porque creio que é relacionado, como referenciar o InputField de outro script para mudar o text do atual.
tava fazendo assim:
void Update(){
GetComponent<TextMesh>().text = PlayerManager.Asstorre.text;}


e Asstorre é um "public static InputField" dentro do PlayerManager.

mas ele dá o erro:

Object reference not set to an instance of an object
ASStorre.Update () (at Assets/Prefabs/ASStorre.cs:23)

help pls !

Nao entendi, qual vc qr acessar. Manda os dois script
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 776
REPUTAÇÃO : 117
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Portela Dom Nov 22, 2020 4:50 pm

quero que o inputtext do script playerManager


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class PlayerManager : MonoBehaviour
{   

    public bool isLocalPlayer;

    Animator myAnim;
    
    public bool isAttack;

    public float attackTime;
    public GameObject prefab;
    public GameObject objetopai;
    public Vector3 posicao,rotacao;
    public Transform[] destinos;
    public Vector3 posicaoRes,rotacaoRes;
    public Vector3 posicaoTower,rotacaoTower;
    public static bool torre;
    public GameObject textCanvas;
    public static InputField Asstorrer;
    
    
    
    
    //public GameObject torrre;
    
    
    //public GameObject Respaw;
    


    void Awake()
    
    {
        
    
        
        myAnim = GetComponent<Animator> ();
    }
    // Start is called before the first frame update
    void Start()    
    {
        
        if(isLocalPlayer){
        
         Instantiate(prefab, posicao,Quaternion.Euler(rotacao), objetopai.transform);
         // Instantiate(torrre, posicaoTower,Quaternion.Euler(rotacaoTower));
         
        
        
        }
    }

    // Update is called once per frame
    void Update()
    {     

        if (isLocalPlayer) {
            

            Attack ();
            
            var h = Input.GetAxis ("Horizontal") * Time.deltaTime * 150.0f;
            var v = Input.GetAxis ("Vertical") * Time.deltaTime * 3.0f;

            transform.Rotate (0, h, 0);
            transform.Translate (0, 0, v);

            if (h != 0 || v != 0) {
                
                UpdateAnimator ("IsWalk");
                UpdateStatustoServer ();
            }

            if (h == 0 && v == 0) 
            {
                UpdateAnimator ("IsIdle");
                NetworkManager.instance.EmitAnimation ("IsIdle");
            }
                


        }
    }


    public void Attack()
    {
         isAttack = Input.GetKey (KeyCode.A);

        if (isAttack)
        {
            UpdateAnimator ("IsAttack");

            NetworkManager.instance.EmitAnimation ("IsAttack");
        }
    }




    }
    public void Torre() 
    { 
        
        
        UpdateAnimator ("Torre");
            
        NetworkManager.instance.EmitAnimation ("Torre");
 
        
    }


    public void UpdatePosAndRot(Vector3 _pos, Quaternion _rot)
    {
        transform.position = _pos;

        transform.rotation = _rot;
         
        
        
    }
    public void UpdatePosAndRot2(Vector3 _pos, Quaternion _rot)
    {
        transform.position = _pos;

        transform.rotation = _rot;
 
        
    }


    IEnumerator StopAttack()
    {
        if (isAttack)
        {
            yield break; // if already attack... exit and wait attack is finished
        }

        isAttack = true; // we are now attack


        yield return new WaitForSeconds(attackTime); // wait for set attack animation time
        isAttack = false;


    }

    public void UpdateAnimator(string _animation)
    {
        
        switch (_animation) 
        {
            case"IsIdle":
            if (!myAnim.GetCurrentAnimatorStateInfo (0).IsName ("Idle")) 
            {    myAnim.SetBool("IsWalkk",false);
                myAnim.SetTrigger ("IsIdle");
                
            }
            break;
            case"IsWalk":
            if (!myAnim.GetCurrentAnimatorStateInfo (0).IsName ("Walk")) 
            {myAnim.SetBool("IsWalkk",true);
                myAnim.SetTrigger ("IsWalk");
            }
            break;
            case"IsDamage":
            if (!myAnim.GetCurrentAnimatorStateInfo (0).IsName ("Damage")) 
            {
                myAnim.SetTrigger ("IsDamage");
            }
            break;
            case"IsAttack":
            if (!myAnim.GetCurrentAnimatorStateInfo (0).IsName ("Attack")) 
            {
                myAnim.SetTrigger ("IsAttack");

                if (!isLocalPlayer)
                {

                    StartCoroutine ("StopAttack");
                }
            }
            break;
            case"IsDeath":
            if (!myAnim.GetCurrentAnimatorStateInfo (0).IsName ("Death")) 
            {
                myAnim.SetTrigger ("IsDeath");
            }
            break;
             case"Torre":
            if (!myAnim.GetCurrentAnimatorStateInfo (0).IsName ("Torre")) 
            {  
              if(torre){
                  // Instantiate(torrre, posicaoTower,Quaternion.Euler(rotacaoTower));
            
               myAnim.SetTrigger ("IsTorre");
               
              }
                  
            }
            break;
            
            
        
    }
    }
        
 
    
   
    public void OnTriggerEnter(Collider collision){
        
        
        if((collision.gameObject.CompareTag("Tele"))){
            
            transform.position = destinos[Random.Range(0,destinos.Length)].transform.position;
 
        }
            if((collision.gameObject.CompareTag("Torre"))){
                if (isLocalPlayer) {
            textCanvas.SetActive(true);
                torre=true;
                
  
                }
                
                
                
    }
    }
        
      public void OnTriggerExit(Collider collision){
            if((collision.gameObject.CompareTag("Torre"))){
                textCanvas.SetActive(false);
                
                torre=false;
                
   
        
                         }
                         
}
}
    






altere o meshtext "texto 3d dentro da cena"  do outro script 'Asstorre'


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

public class ASStorre : MonoBehaviour

{
   
    // Start is called before the first frame update
    void Start()
    {
      // Asstorre=GetComponent<InputField> ();
       
    }

    // Update is called once per frame
    void Update()
    {
      
   //   if(torre){
      
      PlayerManager.Asstorrer= GetComponent<TextMesh>();(" e quando fica static tambem nao consigo linkar no
meu canvas")
      
   //   }
      
    }
}
Portela
Portela
Membro
Membro

Masculino PONTOS : 419
REPUTAÇÃO : 5
Áreas de atuação : Noob/gambirreiro
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Portela Dom Nov 22, 2020 5:05 pm

[list=linenums]
[*]e quando fica static tambem nao consigo linkar no
[*]meu canvas")na verdade  nao consigo linkar no //public static InputField Asstorrer



[/list]
Portela
Portela
Membro
Membro

Masculino PONTOS : 419
REPUTAÇÃO : 5
Áreas de atuação : Noob/gambirreiro
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Pokedlg Seg Nov 23, 2020 1:11 am

@Portela escreveu:[list=linenums]
[*]e quando fica static tambem nao consigo linkar no
[*]meu canvas")na verdade  nao consigo linkar no //public static InputField Asstorrer



[/list]
Desculpa demorar para responder, mas pra que server InputField?
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 776
REPUTAÇÃO : 117
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Pokedlg Seg Nov 23, 2020 1:13 am

@Portela escreveu:[list=linenums]
[*]e quando fica static tambem nao consigo linkar no
[*]meu canvas")na verdade  nao consigo linkar no //public static InputField Asstorrer



[/list]
Desculpa demorar para responder, mas pra que server InputField?
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 776
REPUTAÇÃO : 117
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Portela Seg Nov 23, 2020 6:39 am

@Pokedlg escreveu:Desculpa demorar para responder, mas pra que server InputField?

Seria para ativar um canvas dentro do playerprefab para ele colocar tipo uma "assinatura" no cenario.
Portela
Portela
Membro
Membro

Masculino PONTOS : 419
REPUTAÇÃO : 5
Áreas de atuação : Noob/gambirreiro
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar uma variável de outro script sem saber o objeto?

Mensagem por Portela Seg Nov 23, 2020 6:40 am

@Pokedlg escreveu:Desculpa demorar para responder, mas pra que server InputField?
mas tipo desisti, ta tando muito problema e coloquei outro tipo de intereção com os objetos em cena :P
Portela
Portela
Membro
Membro

Masculino PONTOS : 419
REPUTAÇÃO : 5
Áreas de atuação : Noob/gambirreiro
Respeito as regras : Como acessar uma variável de outro script sem saber o objeto? 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