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 Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Tem como eu Salvar os Dados de Um Terreno?
Error NullReferenceException: Object reference not set to an instance of an object
Unity Banco de Dados
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Desativar butão de acordo valor em seu script [Avançado]
Dúvidas Sobre OnCollider
Otimizacoa por Colisor - (Desativar/Ativar)
Como faço para este item aparecer no meu inventário de forma correta?
Como fazer skins completa de battle Royale
Controle de Personagem
[TUTORIAL] DEBUG DE TEMPO
[Duvida] Como ajustar o volume em todo o jogo
[Alpha Android] - Winthia Chronicles (Alpha Devlog, 20 de fevereiro de 2018). Lançamento!
FantasyDragon Online - Formação de Equipe (P.A / Designer Gráfico )
Como "grudar" objetos no unity?
Slime Shop: Multiplayer (Teste De Jogo :D )
Monitorar Usuarios
Dúvida sobre animação
Alpha Fossil
Configuração de efeitos com água na Unity
Dúvida sobre o uso da Unity em fonte de 47-63hz
Como fazer 1 gerador
[TUTORIAL] Explodir Mesh "Explodir Objeto"
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[Asset]Terreno .dae
[Asset] Personagem 3d basico sem uso
Erro ai importar
[Duvida] Menu Input
[RESOLVIDO] Adaptar o script para mostrar o erro
Objetos girando em órbita de outro
Erro Build Android
[RESOLVIDO] Não consigo alterar o shader de modelo feito no makehuman
[TUTORIAL]Sistema de Pet Virtual -AULA 3 NOVO[20/02/2018]
Pack de animações para jogos de Luta
GamePad Android!
Mudar um .TXT usando um site
"Simular" uma VPS
Velocimetro de Ponteiro!
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Formação de Equipe
[ENCERRADO] Preciso de Programadores para equipe
GC.Collect
[Duvida] Como acessar uma variavel nãa estatica(static).
Inserir Trigger
Fps Caindo Instanteneamente
LoadSceneAsync em varias cenas e escolher qual chamar
Script de Semaforo
Qual versão da unity é recomendada HOJE?
duvida de desempenho ao Instanciar Gameobject
[RESOLVIDO] Bug provavelmente pivot
[TUTORIAL]Sistema de Pet Virtual -AULA 2 [Tamagotchi](ANDROID/PC)
[TUTORAIL] Loja Virtual Fácil e Grátis
Fiz esse jogo a bastante tempo que tipo de mecanica eu poderia adicionar?
Carregar um prefab usando byte[]
[RESOLVIDO] Tem como Um Script rodar antes de Outro
Procuro modelador
Duvida com velocidade X e velocidade Z
Problemas para criar um BackGround
[TUTORIAL] Calculando distância entre gameObjects
Restringir InpultField!
Preciso Modelador com experiencia em Modelar Veículos
Script inimigo x Player
Novo Jogo (BETA ~ Sem Nome)
Multiplayer Unet: no meio da partida os client saem do nada(sistema de Checar conexão)
[RESOLVIDO] Não Consigo Acessar meus Materiais do Modelo !
como alterar o Rect Transform?
[WIP] Projeto ainda sem título
Mudar a densidade de Pixels na tela
O que fazer para ser um programador
[TUTORIAL] Capturar Imagem da WebCam e Salvar No seu Pc
tem como criar Uma Imagem no Canvas?
Membro Avançado
Tem como fazer um cube 3d invisível?
Player não acompanha plataforma
Jogo de plataforma que eu fiz
Alguém para testar alguns jogos meus (Saber se estão legais, se tem bugs e tals)
(Duvida) Como criar um sistema de dialogos?
Equipe para criação de jogo de terror.
Espelho Realista
[TUTORIAL]Sistema de Pet Virtual [Tamagotchi] Completo (ANDROID/PC)
Equipe para criação de assets
Procuro Modelador Low Poly
Unity não reconhece meu celular
[TUTORIAL]Sistema Basico de Combustivel (PC e Android)
[ Run Sara, run ! ] Em desenvolvimento para android.
[SCRIPT] Controle Simples com movimento e rotação
Metodos Assincrono na Unity
Alterar componentes de todos os objeto de um array
Duvida com spawn de IA
[TUTORIAL] CARREGAR CENA APÓS UM TEMPO UNITY 4.7
Melhorar Script
QRcode em unity
ajuda com os scripts fps entre outros
Menu Principal
[TUTORIAL] Avião Script
[DEVLOG] Projeto - Pocket Girl Blade - Atualização
[TUTORIAL] Player executar LookAt apenas no eixo Y
Divulgaçao de Battle of Worlds
Hoje à(s) 9:29 pm
Hoje à(s) 9:23 pm
Hoje à(s) 8:45 pm
Hoje à(s) 8:44 pm
Hoje à(s) 8:13 pm
Hoje à(s) 7:55 pm
Hoje à(s) 7:37 pm
Hoje à(s) 7:27 pm
Hoje à(s) 7:02 pm
Hoje à(s) 5:49 pm
Hoje à(s) 4:29 pm
Hoje à(s) 4:06 pm
Hoje à(s) 2:42 pm
Hoje à(s) 2:36 pm
Hoje à(s) 1:50 am
Ontem à(s) 10:36 pm
Ontem à(s) 8:53 pm
Ontem à(s) 8:35 pm
Ontem à(s) 7:55 pm
Ontem à(s) 7:37 pm
Ontem à(s) 7:00 pm
Ontem à(s) 6:33 pm
Ontem à(s) 5:58 pm
Ontem à(s) 4:52 pm
Ontem à(s) 4:51 pm
Ontem à(s) 3:55 pm
Ontem à(s) 3:21 pm
Ontem à(s) 2:57 pm
Ontem à(s) 2:35 pm
Ontem à(s) 12:46 pm
Ontem à(s) 11:40 am
Ontem à(s) 10:32 am
Ontem à(s) 10:03 am
Ter Fev 20, 2018 11:43 pm
Ter Fev 20, 2018 8:55 pm
Ter Fev 20, 2018 7:51 pm
Ter Fev 20, 2018 7:48 pm
Ter Fev 20, 2018 7:20 pm
Ter Fev 20, 2018 7:12 pm
Ter Fev 20, 2018 7:11 pm
Ter Fev 20, 2018 6:54 pm
Ter Fev 20, 2018 6:15 pm
Ter Fev 20, 2018 5:52 pm
Ter Fev 20, 2018 5:14 pm
Ter Fev 20, 2018 4:49 pm
Ter Fev 20, 2018 4:48 pm
Ter Fev 20, 2018 4:42 pm
Ter Fev 20, 2018 4:38 pm
Ter Fev 20, 2018 4:31 pm
Ter Fev 20, 2018 4:30 pm
Ter Fev 20, 2018 4:25 pm
Ter Fev 20, 2018 1:31 pm
Ter Fev 20, 2018 12:20 pm
Ter Fev 20, 2018 12:56 am
Ter Fev 20, 2018 12:21 am
Seg Fev 19, 2018 8:29 pm
Seg Fev 19, 2018 12:19 pm
Seg Fev 19, 2018 9:23 am
Seg Fev 19, 2018 12:35 am
Dom Fev 18, 2018 9:57 pm
Dom Fev 18, 2018 7:51 pm
Dom Fev 18, 2018 5:03 pm
Dom Fev 18, 2018 3:56 pm
Dom Fev 18, 2018 2:41 pm
Dom Fev 18, 2018 1:21 pm
Dom Fev 18, 2018 12:09 pm
Dom Fev 18, 2018 11:45 am
Dom Fev 18, 2018 3:03 am
Dom Fev 18, 2018 2:24 am
Sab Fev 17, 2018 10:41 pm
Sab Fev 17, 2018 7:25 pm
Sab Fev 17, 2018 7:09 pm
Sab Fev 17, 2018 6:58 pm
Sab Fev 17, 2018 5:35 pm
Sab Fev 17, 2018 4:37 pm
Sab Fev 17, 2018 3:15 pm
Sab Fev 17, 2018 2:52 pm
Sab Fev 17, 2018 1:23 pm
Sex Fev 16, 2018 11:43 pm
Sex Fev 16, 2018 11:15 pm
Sex Fev 16, 2018 10:54 pm
Sex Fev 16, 2018 10:18 pm
Sex Fev 16, 2018 10:17 pm
Sex Fev 16, 2018 6:27 pm
Sex Fev 16, 2018 6:09 pm
Sex Fev 16, 2018 5:18 pm
Sex Fev 16, 2018 4:56 pm
Sex Fev 16, 2018 3:57 pm
Sex Fev 16, 2018 1:59 pm
Sex Fev 16, 2018 1:56 pm
Sex Fev 16, 2018 1:08 pm
Sex Fev 16, 2018 11:24 am
Sex Fev 16, 2018 11:21 am
Qui Fev 15, 2018 9:37 pm
Qui Fev 15, 2018 9:19 pm
Qui Fev 15, 2018 8:19 pm
Qui Fev 15, 2018 5:38 pm
Qui Fev 15, 2018 4:13 pm
Qui Fev 15, 2018 3:58 pm
Souris
junior93
marcos4503
felipehobs1
Felipe Costa
Dom3000
Duarte
Fluttershy28
Daniel Dória
felipehobs1
luKkaSs
Dom3000
marcos4503
Dom3000
rafaelllsd
marcos4503
natanael.olimpio
Souris
Édipo
dstaroski
dstaroski
Souris
Samuelsk
dstaroski
dstaroski
Dom3000
felipehobs1
Dom3000
marcos4503
marcos4503
Phph09
maxwell111
Gilberto555
marcos4503
GameLACK
felipehobs1
Souris
Souris
Souris
Zack2
Zack2
marcos4503
Duarte
MarcosSchultz
michelly
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
marcos4503
fecirineu
felipehobs1
Zecker
Dom3000
alexs
AlvaroWalker
felipehobs1
recagonlei
Weslley
Jhonatham1
dstaroski
fabriciorsz34
recagonlei
nicolasfive
Dom3000
rafaelllsd
rafaelllsd
marcos4503
felipehobs1
Phph09
Phph09
Daniel Dória
Simplizãum S
Daniel Pires da Silva
GamersBR
Bruno
ÁguaMineral
Souris
fecirineu
minosso
minosso
otavio00augusto
fecirineu
ruanzikaad
Simplizãum S
junkflash30
MarcosSchultz
MarcosSchultz
TruffleDevelop
dstaroski
JrdeAmorim
Daniel Pires da Silva
alexs
Matrirxp
dstaroski
Dom3000
Dom3000

Como acessar variável de um script usando outro script (Entre e entenda).

Ir em baixo

DÚVIDA Como acessar variável de um script usando outro script (Entre e entenda).

Mensagem por Gaimo em Qui Jul 13, 2017 9:28 pm

Então meu problema é o seguinte, eu tenho o meu personagem modelado e seu formato é (.fbx), Como não encontrei nenhum script bem completo e comentado (Ainda não sei muita coisa de C#) estou usando o FPSController que a unity disponibiliza, (Se alguém tem um FPSController bem comentado e completinho e quiser compartilhar eu ficaria muito feliz  Very Happy) Então eu fiz o seguinte coloquei o FPSController na cena e como filho dele meu personagem modelado, eu quero colocar as animações no personagem modelado então quando eu tento acessar algumas variáveis do FPSController que é pai do meu personagem modelado eu não consigo, gostaria de alguma dica para me ajudar a resolver esse problema, e se alguém tem alguma dica de como posso fazer essas animações, tipo eu quero descobrir quando ele está andando e pulando.


FPSController (Pai)
    FirstPersonCharacter (Filho) "Já vem com o FPSController"
    PersonalgemModelado (Filho) "Aqui está o modelo 3D do meu personagem .fbx"


Desculpe se tem muitos erros de português não sou perfeito.  Smile


Esse é o C# Script do FPSController
Código:
using System;
using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;
using UnityStandardAssets.Utility;
using Random = UnityEngine.Random;

namespace UnityStandardAssets.Characters.FirstPerson
{
    [RequireComponent(typeof (CharacterController))]
    [RequireComponent(typeof (AudioSource))]
    public class FirstPersonController : MonoBehaviour
    {
        [SerializeField] private bool m_IsWalking;
        [SerializeField] private float m_WalkSpeed;
        [SerializeField] private float m_RunSpeed;
        [SerializeField] [Range(0f, 1f)] private float m_RunstepLenghten;
        [SerializeField] private float m_JumpSpeed;
        [SerializeField] private float m_StickToGroundForce;
        [SerializeField] private float m_GravityMultiplier;
        [SerializeField] private MouseLook m_MouseLook;
        [SerializeField] private bool m_UseFovKick;
        [SerializeField] private FOVKick m_FovKick = new FOVKick();
        [SerializeField] private bool m_UseHeadBob;
        [SerializeField] private CurveControlledBob m_HeadBob = new CurveControlledBob();
        [SerializeField] private LerpControlledBob m_JumpBob = new LerpControlledBob();
        [SerializeField] private float m_StepInterval;
        [SerializeField] private AudioClip[] m_FootstepSounds;    // an array of footstep sounds that will be randomly selected from.
        [SerializeField] private AudioClip m_JumpSound;           // the sound played when character leaves the ground.
        [SerializeField] private AudioClip m_LandSound;           // the sound played when character touches back on ground.

        private Camera m_Camera;
        private bool m_Jump;
        private float m_YRotation;
        private Vector2 m_Input;
        private Vector3 m_MoveDir = Vector3.zero;
        private CharacterController m_CharacterController;
        private CollisionFlags m_CollisionFlags;
        private bool m_PreviouslyGrounded;
        private Vector3 m_OriginalCameraPosition;
        private float m_StepCycle;
        private float m_NextStep;
        private bool m_Jumping;
        private AudioSource m_AudioSource;

        // Use this for initialization
        private void Start()
        {
            m_CharacterController = GetComponent<CharacterController>();
            m_Camera = Camera.main;
            m_OriginalCameraPosition = m_Camera.transform.localPosition;
            m_FovKick.Setup(m_Camera);
            m_HeadBob.Setup(m_Camera, m_StepInterval);
            m_StepCycle = 0f;
            m_NextStep = m_StepCycle/2f;
            m_Jumping = false;
            m_AudioSource = GetComponent<AudioSource>();
 m_MouseLook.Init(transform , m_Camera.transform);
        }


        // Update is called once per frame
        private void Update()
        {
            RotateView();
            // the jump state needs to read here to make sure it is not missed
            if (!m_Jump)
            {
                m_Jump = CrossPlatformInputManager.GetButtonDown("Jump");
            }

            if (!m_PreviouslyGrounded && m_CharacterController.isGrounded)
            {
                StartCoroutine(m_JumpBob.DoBobCycle());
                PlayLandingSound();
                m_MoveDir.y = 0f;
                m_Jumping = false;
            }
            if (!m_CharacterController.isGrounded && !m_Jumping && m_PreviouslyGrounded)
            {
                m_MoveDir.y = 0f;
            }

            m_PreviouslyGrounded = m_CharacterController.isGrounded;
        }


        private void PlayLandingSound()
        {
            m_AudioSource.clip = m_LandSound;
            m_AudioSource.Play();
            m_NextStep = m_StepCycle + .5f;
        }


        private void FixedUpdate()
        {
            float speed;
            GetInput(out speed);
            // always move along the camera forward as it is the direction that it being aimed at
            Vector3 desiredMove = transform.forward*m_Input.y + transform.right*m_Input.x;

            // get a normal for the surface that is being touched to move along it
            RaycastHit hitInfo;
            Physics.SphereCast(transform.position, m_CharacterController.radius, Vector3.down, out hitInfo,
                               m_CharacterController.height/2f, Physics.AllLayers, QueryTriggerInteraction.Ignore);
            desiredMove = Vector3.ProjectOnPlane(desiredMove, hitInfo.normal).normalized;

            m_MoveDir.x = desiredMove.x*speed;
            m_MoveDir.z = desiredMove.z*speed;


            if (m_CharacterController.isGrounded)
            {
                m_MoveDir.y = -m_StickToGroundForce;

                if (m_Jump)
                {
                    m_MoveDir.y = m_JumpSpeed;
                    PlayJumpSound();
                    m_Jump = false;
                    m_Jumping = true;
                }
            }
            else
            {
                m_MoveDir += Physics.gravity*m_GravityMultiplier*Time.fixedDeltaTime;
            }
            m_CollisionFlags = m_CharacterController.Move(m_MoveDir*Time.fixedDeltaTime);

            ProgressStepCycle(speed);
            UpdateCameraPosition(speed);

            m_MouseLook.UpdateCursorLock();
        }


        private void PlayJumpSound()
        {
            m_AudioSource.clip = m_JumpSound;
            m_AudioSource.Play();
        }


        private void ProgressStepCycle(float speed)
        {
            if (m_CharacterController.velocity.sqrMagnitude > 0 && (m_Input.x != 0 || m_Input.y != 0))
            {
                m_StepCycle += (m_CharacterController.velocity.magnitude + (speed*(m_IsWalking ? 1f : m_RunstepLenghten)))*
                             Time.fixedDeltaTime;
            }

            if (!(m_StepCycle > m_NextStep))
            {
                return;
            }

            m_NextStep = m_StepCycle + m_StepInterval;

            PlayFootStepAudio();
        }


        private void PlayFootStepAudio()
        {
            if (!m_CharacterController.isGrounded)
            {
                return;
            }
            // pick & play a random footstep sound from the array,
            // excluding sound at index 0
            int n = Random.Range(1, m_FootstepSounds.Length);
            m_AudioSource.clip = m_FootstepSounds[n];
            m_AudioSource.PlayOneShot(m_AudioSource.clip);
            // move picked sound to index 0 so it's not picked next time
            m_FootstepSounds[n] = m_FootstepSounds[0];
            m_FootstepSounds[0] = m_AudioSource.clip;
        }


        private void UpdateCameraPosition(float speed)
        {
            Vector3 newCameraPosition;
            if (!m_UseHeadBob)
            {
                return;
            }
            if (m_CharacterController.velocity.magnitude > 0 && m_CharacterController.isGrounded)
            {
                m_Camera.transform.localPosition =
                    m_HeadBob.DoHeadBob(m_CharacterController.velocity.magnitude +
                                      (speed*(m_IsWalking ? 1f : m_RunstepLenghten)));
                newCameraPosition = m_Camera.transform.localPosition;
                newCameraPosition.y = m_Camera.transform.localPosition.y - m_JumpBob.Offset();
            }
            else
            {
                newCameraPosition = m_Camera.transform.localPosition;
                newCameraPosition.y = m_OriginalCameraPosition.y - m_JumpBob.Offset();
            }
            m_Camera.transform.localPosition = newCameraPosition;
        }


        private void GetInput(out float speed)
        {
            // Read input
            float horizontal = CrossPlatformInputManager.GetAxis("Horizontal");
            float vertical = CrossPlatformInputManager.GetAxis("Vertical");

            bool waswalking = m_IsWalking;

#if !MOBILE_INPUT
            // On standalone builds, walk/run speed is modified by a key press.
            // keep track of whether or not the character is walking or running
            m_IsWalking = !Input.GetKey(KeyCode.LeftShift);
#endif
            // set the desired speed to be walking or running
            speed = m_IsWalking ? m_WalkSpeed : m_RunSpeed;
            m_Input = new Vector2(horizontal, vertical);

            // normalize input if it exceeds 1 in combined length:
            if (m_Input.sqrMagnitude > 1)
            {
                m_Input.Normalize();
            }

            // handle speed change to give an fov kick
            // only if the player is going to a run, is running and the fovkick is to be used
            if (m_IsWalking != waswalking && m_UseFovKick && m_CharacterController.velocity.sqrMagnitude > 0)
            {
                StopAllCoroutines();
                StartCoroutine(!m_IsWalking ? m_FovKick.FOVKickUp() : m_FovKick.FOVKickDown());
            }
        }


        private void RotateView()
        {
            m_MouseLook.LookRotation (transform, m_Camera.transform);
        }


        private void OnControllerColliderHit(ControllerColliderHit hit)
        {
            Rigidbody body = hit.collider.attachedRigidbody;
            //dont move the rigidbody if the character is on top of it
            if (m_CollisionFlags == CollisionFlags.Below)
            {
                return;
            }

            if (body == null || body.isKinematic)
            {
                return;
            }
            body.AddForceAtPosition(m_CharacterController.velocity*0.1f, hit.point, ForceMode.Impulse);
        }
    }
}

Gaimo
Iniciante
Iniciante

Masculino PONTOS : 243
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário http://blog1canalbr.blogspot.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar variável de um script usando outro script (Entre e entenda).

Mensagem por PauloFR em Sex Jul 14, 2017 12:56 am

Tipo eu mudo o script de pasta e já consigo acessar as variáveis dele,quando eu modifico elas pra public... eu acho ;-; n tenho certeza... faz tempo q n modifico o script do fps...


Pode ser que você esteja tentando acessar uma variável privada,ai é só tornar ela public ;-;
digitando public em vez de private na frente ;-;

Código:
// Exemplo ;-;

[SerializeField]private bool m_IsWalking;

// Tornando ela publica ficaria assim

public bool m_IsWalking;

// Ou de outro modo ;-; existem vários...
avatar
PauloFR
Instrutor

Masculino PONTOS : 1508
REPUTAÇÃO : 324
Idade : 15
Áreas de atuação : Iniciante:Modelagem e Terminal-Linux. Intermediário:C#,Java,HTML e CSS
Respeito as regras :

Ver perfil do usuário http://bytsoft.rf.gd

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar variável de um script usando outro script (Entre e entenda).

Mensagem por Callyde Jr em Sex Jul 14, 2017 6:39 am

Como Paulo falou deixe as variavez publicas que voce vai acessar.
Voce pode acessar variavez deixando elas staticas
Ex;script da vida
Código:
ScriptVida
public static int vida;
script que vai manipular a variavel

Código:
OutroScript
ScriptVida.vida = ScriptVida.vida + 200;
Mais voce tambem pode acessar usando esse modo sem static
ScriptVida

Código:
ScriptVida

public int vida;



Código:

public class OutroScript : MonoBehaviour {

private ScriptVida scriptVida { get { return GetComponent<ScriptVida> (); } set { scriptVida= value; } }

public int vidaatual = 100;
void Update () {

 vidaatual = scriptVida.vida;
    
 }
avatar
Callyde Jr
Programador

Masculino PONTOS : 2036
REPUTAÇÃO : 273
Idade : 39
Áreas de atuação : Iniciante em modelagem
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar variável de um script usando outro script (Entre e entenda).

Mensagem por Gaimo em Sex Jul 14, 2017 12:34 pm

Da forma static eu consigo normalmente, porém não bem o que eu quero já da outra forma não vai. Certeza que é algum erro bobo que eu estou fazendo.


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

public class Script1 : MonoBehaviour {

 public int Vida = 2;


 // Use this for initialization
 void Start () {
 
 }
 
 // Update is called once per frame
 void Update () {
 if (Vida <= 0) {
 print ("Sucesso.");
 Vida = 2;
 }
 
 }
}


Script2   (Tentando acessar o Script1)
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Script2 : MonoBehaviour {

 private Script1 AcessarScript1 { get { return GetComponent<Script1> (); } set { AcessarScript1 = value; } }
 private int NovaVida;

 // Use this for initialization
 void Start () {
 

 
 }
 
 // Update is called once per frame
 void Update () {
 if (Input.GetKeyUp (KeyCode.E))
 NovaVida = AcessarScript1.Vida - 1;
 }
}

Gaimo
Iniciante
Iniciante

Masculino PONTOS : 243
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário http://blog1canalbr.blogspot.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar variável de um script usando outro script (Entre e entenda).

Mensagem por Callyde Jr em Sab Jul 15, 2017 4:36 pm

Pronto ai esta

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

public class Script1 : MonoBehaviour {

 public static int VidaMaxima = 100;
 public int VidaAtual;
 public int stamina = 50;
 // Use this for initialization
 void Start () {
 
 }
 
 // Update is called once per frame
 void Update () {
VidaAtual = VidaMaxima;//Elas sao iguais   
   
 if (VidaAtual <= 0) {
    VidaAtual = 0;
   print("Morreu");
    StartCoroutine (Morrer());
 }
 
 }
 IEnumerator Morrer(){
      
    yield return new WaitForSeconds (3);
    Destroy (gameObject);
    SceneManager.LoadScene ("GameOver");//Nome da Scena
    }
}

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

public class Script2 : MonoBehaviour {


private Script1 Acessscrpt1 { get { return Player.GetComponent<Script1> (); } set { Acessscrpt1 = value; } }
   
 public GameObject Player;
 public int Stamina;
 public int DanoVida;//colocando aqui quanto vai tirar no inspetor

 // Use this for initialization
 void Start () {
 
 
 }
 
 // Update is called once per frame
 void Update () {
 Stamina = Acessscrpt1.stamina;//Igual a de lar   
   
 if (Input.GetKeyUp (KeyCode.E)){
  Script1.VidaMaxima = Script1.VidaMaxima - DanoVida;//Tirando da de lar
 }
 }
}
Tive que editar os scripts estava errados
avatar
Callyde Jr
Programador

Masculino PONTOS : 2036
REPUTAÇÃO : 273
Idade : 39
Áreas de atuação : Iniciante em modelagem
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar variável de um script usando outro script (Entre e entenda).

Mensagem por burnout156 em Dom Jan 28, 2018 1:20 am

Callyde Jr escreveu:Como Paulo falou deixe as variavez publicas que voce vai acessar.
Voce pode acessar variavez deixando elas staticas
Ex;script da vida
Código:
ScriptVida
public static int vida;
script que vai manipular a variavel

Código:
OutroScript
ScriptVida.vida = ScriptVida.vida + 200;
Mais voce tambem pode acessar usando esse modo sem static
ScriptVida

Código:
ScriptVida

public int vida;



Código:

public class OutroScript : MonoBehaviour {

private ScriptVida scriptVida { get { return GetComponent<ScriptVida> (); } set { scriptVida= value; } }

public int vidaatual = 100;
void Update () {

 vidaatual = scriptVida.vida;
    
 }
 Cara, meu cérebro está tão fritado, que esqueci de botar static, por isso ele não perdia vida, valeu por meu ajudar na Global Game Jam em 2018

burnout156
Iniciante
Iniciante

PONTOS : 287
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

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