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:
Maximizar view da cam
Tem como fazer o inimigo andar até dar de cara com o player?
Tirar foto e exportar pro jogo
Trocar de cena ao matar inimigo
Mudar qualidade das texturas por código?
[Projeto] Jogo Ambientado no Brasil para Android
Como criar um botãoUI que liga e desliga uma lista de objetos?
Unity - Imagem no formato de um triângulo?
Gráficos estilo Genshin
level system problema
Como calcular distância entre dois pontos
Posicao do objeto diferente do setado no codigo
Sistema de pulo 3D
Procuro programador Unity para jogo 2D
Pessoal saiu a versão de testes do meu novo jogo, o Sanatório Macabro
Cinemachine - trocar de camera usando uma tecla e mouse 'lockScreen'
Sistema completo de nivel com XP + PayTime
Limitar arrays e fazer sortear um valor apenas uma vez
Como faço para variável voltar para o valor inicial
Duvida com getAxis
Fazer um detetive para sair apenas 1 vez o resultado do sorteio
Jogos NTFs
Salvar variável temporária com PlayerPrefs!?
Alguém sabe fazer uma AI para o inimigo seguir o Player em um jogo Top Down
Bug com modelo ficando invisível
Erro em sistema de dialogo...
Terreno Procedural
sistema de estamina,vida,fome e sede
Posição do object diferente do código quando está em tempo real!?
FORMACAO DE EQUIPE
sistema de câmera + movimentação do player
Erro no Photon Pun 2 (InvalidCastException: Specified cast is not valid)
Procuro modelador 3D para futuro Game
A procura de um MODELADOR pra desenvolver jogo pra estudo.
Script do marcos (Como colocar um limite de Spawn)
Multiplayer
Photon 2 outros Players
QR Code + Unity + KinderOvo (Opinião)
Colisão 2d
Câmera Primeira pessoa / Movimentação
Polígonos do modelo são destorcidos ao importar na unity, como resolver?
Ativar luz e objeto sumir
duvida sobre servidor
Como converter um projeto da Unity para o PlayCanvas?
Sistema de inventario
Alguem me ajuda, minha animaçao depois de um tempo congela
COMO TROCAR FORMA DE ATAQUE DO (CLICK DO MOUSE para BOTÃO UI MOBILE)
problemas com rotacao da camera!!
Dúvida com Procedural mesh e Bezier Curves
Sols Like Projeto iniciando!
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
crowdfunding para jogos
Colisão realista?
Sobreposição de mapa de luz, gerar mapa de luz?
Script único para todos os veículos no jogo?
Como procurar um lugar vazio para spawnar monstro
Como eu posso fazer uma cutscene ilustrada com imagens?
Erro com rotacao de objeto
Veiculos Para o Unity!
Objetos de outras cenas
Como alterar a Speed da anim por código?
Verificar espaco se ocupado ou nao e limitar as instancias!!
pegar fiho de objeto instanciado!!!
alterar cor via script
[DÚVIDA] Câmera estilo FNAF
instanciar com rotacao!!
Problema com canvas/panel e objetos
ANIMAL fugir
Seguir ponto por trigger
Novo input system
Procuro programador para Sistema de Pets na Unity
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Dúvidas em geral - Como faço para colocar os gráficos estilo jogos antigos?
Movimentação PointerDown e PointerUp em peças spawn com botões UI
points linerenderer
Problemas em dividir controles em multiplayer
Jogador salvar controle
[TUTORIAL] State Machine mas simples do universo kkkk
Procuro programador para JOGO DE TERROR
Fazer pontuação aparecer momentaneamente e sumir dando erro
Alguém sabe reproduzir esse efeito do video na Unity?
Multiplayer com Unity + NOde
Clique duplo em um botão?
Como criar um objeto só quando colider com outro?
[TUTORIAL] Agachar, correr e sistema de estamina ( C# )
Objetos de outras cenas
O jogo bugou e os sliders e o joystick não estão funcionando, apenas botões
Component Cloth unity
Como reproduzir efeito "respirar" ao parar a camera
[TUTORIAL] Reconhecimento de dinheiro
Informações que ficam salvas para chamar em outras cenas (Idioma, Nick)
Limitar movimento da camera com imput android!!
Como fazer texto do Script entrar no UI
SOU MODELADOR DE MODELOS LOW POLY MEDIUM PRECISANDO E SO CHAMAR
jogo de corrida
[SCRIPT] Ler Texto em .TXT Por Chave
ajuda com sincronização jogo de botão
IA para multiplos inimigos
Como fazer um modo multiplayer em um jogo que está off-line?
Hoje à(s) 7:19 pm
Hoje à(s) 6:42 pm
Hoje à(s) 4:19 pm
Ontem à(s) 9:02 pm
Ontem à(s) 10:17 am
Ontem à(s) 8:21 am
Qui Dez 02, 2021 8:38 pm
Qui Dez 02, 2021 4:39 pm
Qui Dez 02, 2021 12:00 pm
Ter Nov 30, 2021 3:52 pm
Ter Nov 30, 2021 12:14 pm
Seg Nov 29, 2021 5:18 pm
Seg Nov 29, 2021 5:17 pm
Seg Nov 29, 2021 1:17 pm
Dom Nov 28, 2021 11:52 am
Dom Nov 28, 2021 1:30 am
Sab Nov 27, 2021 4:57 am
Sex Nov 26, 2021 5:53 pm
Sex Nov 26, 2021 12:16 pm
Qui Nov 25, 2021 6:15 pm
Qui Nov 25, 2021 3:31 pm
Qua Nov 24, 2021 2:01 am
Ter Nov 23, 2021 5:11 pm
Ter Nov 23, 2021 3:48 pm
Ter Nov 23, 2021 1:12 pm
Ter Nov 23, 2021 12:38 pm
Seg Nov 22, 2021 3:20 pm
Seg Nov 22, 2021 2:29 am
Dom Nov 21, 2021 12:52 pm
Dom Nov 21, 2021 11:02 am
Dom Nov 21, 2021 3:36 am
Sab Nov 20, 2021 10:35 pm
Sex Nov 19, 2021 11:54 pm
Sex Nov 19, 2021 11:51 pm
Sex Nov 19, 2021 11:08 pm
Sex Nov 19, 2021 7:08 pm
Sex Nov 19, 2021 5:23 pm
Sex Nov 19, 2021 12:57 pm
Qui Nov 18, 2021 7:12 pm
Qui Nov 18, 2021 10:37 am
Qui Nov 18, 2021 10:17 am
Seg Nov 15, 2021 11:18 pm
Seg Nov 15, 2021 11:15 pm
Seg Nov 15, 2021 10:13 am
Seg Nov 15, 2021 9:48 am
Qui Nov 11, 2021 8:49 pm
Qui Nov 11, 2021 1:31 pm
Qui Nov 11, 2021 7:31 am
Qua Nov 10, 2021 8:19 pm
Ter Nov 09, 2021 7:05 pm
Ter Nov 09, 2021 5:05 pm
Ter Nov 09, 2021 4:11 pm
Ter Nov 09, 2021 1:07 pm
Seg Nov 08, 2021 7:36 pm
Dom Nov 07, 2021 8:44 pm
Sab Nov 06, 2021 10:51 pm
Sex Nov 05, 2021 10:04 pm
Sex Nov 05, 2021 7:50 pm
Sex Nov 05, 2021 3:48 pm
Sex Nov 05, 2021 10:24 am
Sex Nov 05, 2021 2:13 am
Qui Nov 04, 2021 6:48 pm
Qui Nov 04, 2021 6:09 pm
Qui Nov 04, 2021 5:39 pm
Qui Nov 04, 2021 5:00 pm
Qui Nov 04, 2021 3:55 pm
Qui Nov 04, 2021 2:45 pm
Qui Nov 04, 2021 4:56 am
Qua Nov 03, 2021 4:04 pm
Qua Nov 03, 2021 3:54 pm
Qua Nov 03, 2021 11:48 am
Qua Nov 03, 2021 8:18 am
Ter Nov 02, 2021 6:02 pm
Ter Nov 02, 2021 5:42 pm
Ter Nov 02, 2021 10:55 am
Ter Nov 02, 2021 10:44 am
Seg Nov 01, 2021 9:40 pm
Seg Nov 01, 2021 7:32 pm
Seg Nov 01, 2021 1:01 pm
Seg Nov 01, 2021 11:21 am
Dom Out 31, 2021 2:39 pm
Sab Out 30, 2021 3:05 pm
Sab Out 30, 2021 2:43 pm
Sab Out 30, 2021 2:40 pm
Sab Out 30, 2021 11:23 am
Qui Out 28, 2021 12:04 pm
Qua Out 27, 2021 7:49 pm
Qua Out 27, 2021 7:47 pm
Qua Out 27, 2021 3:11 pm
Qua Out 27, 2021 2:51 pm
Ter Out 26, 2021 6:01 pm
Ter Out 26, 2021 5:49 pm
Seg Out 25, 2021 8:53 pm
Seg Out 25, 2021 8:17 pm
Seg Out 25, 2021 7:33 pm
Seg Out 25, 2021 1:57 am
Dom Out 24, 2021 8:10 pm
Dom Out 24, 2021 5:36 pm
Dom Out 24, 2021 12:48 pm
Joana
ryanmorj16
giowde
MayLeone
stratengine
Crash Psycho
verme1311
MayLeone
Gabriel M
Valakinhas
Xavier
JãoArts
JãoArts
joaozinpedrin
Patrick
jeronimo Collares
M4x
EricknhYT
Charlesoff
capim22
EricknhYT
artplayer
M4x
M4x
Charlesoff
NoctisDregon
SgtMatuto
Pkneves
M4x
classicandsimple
Pkneves
EricknhYT
SeTk
SeTk
verme1311
Gamergame
claudiano2020
heyviic
joaozinpedrin
Gamergame
Crash Psycho
Zack2
Zack2
Atho
igorobm
Fzinx
igorobm
capim22
AgrrgA
hellside
Zack2
Zack2
igorobm
NoctisDregon
ProBrStalker
igorobm
brunort1
Zack2
Herovine Hl
Zack2
igorobm
capim22
Zack2
Zack2
Zack2
Zack2
joaozinpedrin
MadCow
eduardonog30
Zack2
Etoeu
junio132sj
Pedro432Joao
HugoTavares
Charlesoff
Charlesoff
Zack2
hendrick22
Cristhofer Marques
eduardonog30
AmazingDeliciano
Vorzoolvan
M4x
FelipeSouza11
Herovine Hl
joaozinpedrin
JulioWinchester
capim22
Zack2
Zack2
TIKO
capim22
EricknhYT
claudiano2020
TIKO
FelipeSouza11
claudiano2020
Zack2
Dom3000

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

3 participantes

Ir para 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
Membro
Membro

Masculino PONTOS : 827
REPUTAÇÃO : 11
Idade : 28
Á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

Ir para o topo Ir para 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 : 1178
REPUTAÇÃO : 170
Á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

Ir para o topo Ir para 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
Membro
Membro

Masculino PONTOS : 827
REPUTAÇÃO : 11
Idade : 28
Á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

Ir para o topo Ir para 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 : 1178
REPUTAÇÃO : 170
Á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

Ir para o topo Ir para 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
Membro
Membro

Masculino PONTOS : 827
REPUTAÇÃO : 11
Idade : 28
Á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

Ir para o topo Ir para 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 : 1178
REPUTAÇÃO : 170
Á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

Ir para o topo Ir para 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
Membro
Membro

Masculino PONTOS : 827
REPUTAÇÃO : 11
Idade : 28
Á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

Ir para o topo Ir para 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 : 1178
REPUTAÇÃO : 170
Á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

Ir para o topo Ir para 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
Membro
Membro

Masculino PONTOS : 827
REPUTAÇÃO : 11
Idade : 28
Á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

Ir para o topo Ir para 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 : 1178
REPUTAÇÃO : 170
Á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

Ir para o topo Ir para 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
Membro
Membro

Masculino PONTOS : 827
REPUTAÇÃO : 11
Idade : 28
Á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

Ir para o topo Ir para 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 : 1178
REPUTAÇÃO : 170
Á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

Ir para o topo Ir para 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
Membro
Membro

Masculino PONTOS : 827
REPUTAÇÃO : 11
Idade : 28
Á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

Ir para o topo Ir para 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 : 651
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

Ir para o topo Ir para 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 : 1178
REPUTAÇÃO : 170
Á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

Ir para o topo Ir para 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 : 651
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

Ir para o topo Ir para 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 : 651
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

Ir para o topo Ir para 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 : 1178
REPUTAÇÃO : 170
Á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

Ir para o topo Ir para 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 : 1178
REPUTAÇÃO : 170
Á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

Ir para o topo Ir para 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 : 651
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

Ir para o topo Ir para 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 : 651
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

Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste fórum
Você não pode responder aos tópicos