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:
[DÚVIDA] TIRANOSSAURO REX no UNITY?
tem como excluir uma( ou várias ) contas do fórum?
Acrescentei algumas linhas em um Script feito pelo nosso M.Schultz, funcionou +ou-...
Jumper boy
Duvida com animação
[TUTORIAL] Criar jogo Colors/Genius com C#
[RESOLVIDO] Utilizar o mesmo botão para duas ações. (if e else)
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Ajuda com AI Inimigo.
[Script] Mudar a orientação em runtime
Como mover dois objetos juntos.
[TUTORIAL] Third Person Shooter
[PEDIDOS DE TUTORIAIS]
Google Play Games
Como fazer um jogo nesse estilo?
Como apagar Proceduram material da pista, quando for recarregar a cena?
PROBLEMA NULL REFERENCE EXCEPTION
Calculo de previsão de coordenada
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Unity - Rodar 2 cenas ao mesmo tempo
Sons na Unity 2017
| AJUDA DISCORD | Descubra aqui como fazer para o link do seu servidor nunca expirar.
Servidores sem limite por usuário.
Trigger detectando apenas o character controller
seguir 2 objetos com a mesma tag
Zezin Na Copa da Russia Realidade Aumentada
[PROJETO MOBILE] Defeat the Illuminatis
DISCORD
Novo jogo - Astero - PlayStore
Variável receber valor de uma array
erro no script
[RESOLVIDO] Bug de wallpaper preto no windows.
[TUTORIAL] Movimento de camera em primeira pessoa e sons de passos ou HeadBob
Tomar dano do inimigo e causar dano no mesmo
[RESOLVIDO] Texto se encaixar dentro de uma imagem.
[Projeto] Line Battle
Jogo Maria Bella
Spawner de Inimigo n preenche todas as posições
[TUTORIAL] AI Enemy ( Jogos de terror )
Como corrigir o box collider do unity?
SPAWN Baseado na Posição (UNITY)
[RESOLVIDO] Problema em um script
Unity - executável não roda banco de dados
Como criar um sistema de Ranking simples.
Animação Humanoid
Blender - Erro ao aplicar influência automática nos ossos de personagem
Objetos duplicados ao instanciar
Duvida com collider
[RESOLVIDO] Problemas com API
Pegar e Jogar armas no chão (estilo CS 1.6)
[RESOLVIDO] Projeteis Online
[TUTORIAL] Zone Wall - ESTILO BATTLE ROYALE
| DÚVIDA | - Como aprender C#?
Como criar um ranking online na Unity usando a PlayFab e o Facebook?
Dúvida sobre método de acesso as variáveis
checkpoint
Como faço para otimizar meu projeto da Unity 3D?
[RESOLVIDO] Alguém me explica isso? (Animator script)
[RESOLVIDO] Duvida com GameManager
duvidas com marcas reais em jogos
Objeto na UI
Minimap/Radar/GPS Estilo GTA V
Problemas com a câmera
PROBLEMAS COM O NAVIGATION
[TUTORIAL] Serialização - JSON
Textura de luzes rosa
Banco de dados android
Girar arma
Qual o melhor meio de iluminar essa scene?
[Jogo] Flap OCO (Android & PC)
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
ANIMAÇÃO INIMIGO AI
[RESOLVIDO] Menu Pause Dúvida
Unity 5: Object reference not set to an instance of an object
Como saber se o controle foi conectado?
[ENQUETE OFICIAL] Você está vendo o CHAT DO FÓRUM?????
Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
[RESOLVIDO] Erro -> Android SDK is missing required API level 23
Sprites com mesmas cores.
[Formação de Equipe] Battles of Worlds
Como fazer para sair do jogo apertando uma tecla?
VAGA MODELADOR
[Em Desenvolvimento] Battles of Worlds
[RESOLVIDO]Colocar dois fundos diferentes em um mesmo canvas dependendo do menu carregado.
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
[____REGRAS DO FÓRUM____]
SetPartner
Como eu posso criar uma rede social semelhante ao NEAKI?
Como colocar dois backgrounds diferentes para dois canvas diferentes?
Botões Android
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
problema com Script
Efeitos de particulas
Duvidas/ideias sobre o forum
[RESOLVIDO] Camera e posição do sprite animator
VAGA EM EQUIPE PARA APREDIZAGEM
Como criar sombra em objeto transparente?
Modificação de scripts em cenas diferentes
Hoje à(s) 10:38 am
Hoje à(s) 10:17 am
Hoje à(s) 7:15 am
Ontem à(s) 10:51 pm
Ontem à(s) 9:46 pm
Ontem à(s) 7:35 pm
Ontem à(s) 7:29 pm
Ontem à(s) 6:46 pm
Ontem à(s) 6:45 pm
Ontem à(s) 6:43 pm
Ontem à(s) 6:38 pm
Ontem à(s) 4:36 pm
Ontem à(s) 3:42 pm
Ontem à(s) 3:33 pm
Ontem à(s) 1:26 pm
Ontem à(s) 1:10 pm
Ontem à(s) 7:23 am
Dom Jun 17, 2018 11:54 pm
Dom Jun 17, 2018 11:50 pm
Dom Jun 17, 2018 9:44 pm
Dom Jun 17, 2018 8:49 pm
Dom Jun 17, 2018 6:23 pm
Dom Jun 17, 2018 5:21 pm
Dom Jun 17, 2018 4:40 pm
Dom Jun 17, 2018 2:37 pm
Dom Jun 17, 2018 12:48 pm
Dom Jun 17, 2018 11:34 am
Dom Jun 17, 2018 11:20 am
Sab Jun 16, 2018 10:40 pm
Sab Jun 16, 2018 9:43 pm
Sab Jun 16, 2018 9:28 pm
Sab Jun 16, 2018 8:48 pm
Sab Jun 16, 2018 5:13 pm
Sab Jun 16, 2018 5:05 pm
Sab Jun 16, 2018 4:51 pm
Sab Jun 16, 2018 4:33 pm
Sab Jun 16, 2018 4:14 pm
Sab Jun 16, 2018 3:39 pm
Sab Jun 16, 2018 1:48 pm
Sex Jun 15, 2018 10:15 pm
Sex Jun 15, 2018 8:31 pm
Sex Jun 15, 2018 8:24 pm
Sex Jun 15, 2018 8:02 pm
Sex Jun 15, 2018 5:08 pm
Sex Jun 15, 2018 2:46 pm
Sex Jun 15, 2018 12:08 pm
Sex Jun 15, 2018 10:46 am
Qui Jun 14, 2018 6:41 pm
Qui Jun 14, 2018 4:25 pm
Qui Jun 14, 2018 2:34 pm
Qui Jun 14, 2018 6:19 am
Qua Jun 13, 2018 10:08 pm
Qua Jun 13, 2018 9:59 pm
Qua Jun 13, 2018 6:48 pm
Qua Jun 13, 2018 3:16 pm
Qua Jun 13, 2018 3:11 pm
Qua Jun 13, 2018 9:12 am
Qua Jun 13, 2018 6:25 am
Qua Jun 13, 2018 1:00 am
Qua Jun 13, 2018 12:40 am
Ter Jun 12, 2018 11:08 pm
Ter Jun 12, 2018 8:00 pm
Ter Jun 12, 2018 5:17 pm
Ter Jun 12, 2018 2:25 pm
Ter Jun 12, 2018 9:00 am
Seg Jun 11, 2018 11:57 pm
Seg Jun 11, 2018 7:17 pm
Seg Jun 11, 2018 2:51 pm
Seg Jun 11, 2018 2:42 pm
Seg Jun 11, 2018 10:18 am
Seg Jun 11, 2018 10:05 am
Dom Jun 10, 2018 10:52 pm
Dom Jun 10, 2018 7:18 pm
Dom Jun 10, 2018 6:29 pm
Dom Jun 10, 2018 6:23 pm
Dom Jun 10, 2018 3:53 pm
Dom Jun 10, 2018 12:32 pm
Dom Jun 10, 2018 9:32 am
Sab Jun 09, 2018 5:36 pm
Sab Jun 09, 2018 5:14 pm
Sab Jun 09, 2018 5:09 pm
Sab Jun 09, 2018 11:44 am
Sab Jun 09, 2018 10:49 am
Sab Jun 09, 2018 8:27 am
Sex Jun 08, 2018 4:23 pm
Sex Jun 08, 2018 3:35 pm
Sex Jun 08, 2018 3:22 pm
Sex Jun 08, 2018 8:24 am
Sex Jun 08, 2018 1:02 am
Qui Jun 07, 2018 11:48 pm
Qui Jun 07, 2018 9:09 pm
Qui Jun 07, 2018 8:56 pm
Qui Jun 07, 2018 8:47 pm
Qui Jun 07, 2018 5:24 pm
Qua Jun 06, 2018 11:22 pm
Qua Jun 06, 2018 7:49 pm
Qua Jun 06, 2018 4:33 pm
Qua Jun 06, 2018 3:32 pm
Qua Jun 06, 2018 8:51 am
JohnRambo
JohnRambo
richardfalcos
SuperGamer
Zack2
NKKF
DevTerror
dstaroski
dstaroski
dstaroski
dstaroski
Dom3000
Phph09
Zack2
NKKF
Callyde Jr
guimaraf
fecirineu
fecirineu
FelipeSouza11
ismarspn
thancor
SuperGamer
MRX
MRX
NKKF
natanael.olimpio
dstaroski
Carlos Mesquita
Édipo
Flávio
dstaroski
M4theuz
dstaroski
kenau
NKKF
MRX
foxtenn
NKKF
BrazaTattoo
lesgoy
dstaroski
Dom3000
Midoriiiiii
BRGC
Dom3000
Dom3000
Dom3000
Zack2
yVIEIRA
Phph09
fecirineu
IanLuan
IanLuan
natanael.olimpio
guimaraf
NyeTiSS
francisco barroso
MRX
Zack2
dstaroski
MRX
Duarte
NKKF
dstaroski
igorobm
JonathanDiego
mafipt
Zack2
fecirineu
Dom3000
francisco barroso
bertarele
Magnatah
ZeroTuhnder
FelipeSouza11
francisco barroso
YmKx
francisco barroso
NKKF
Dom3000
Isabela
Dom3000
Dom3000
kenau
FelipeSouza11
FelipeSouza11
NyeTiSS
Callyde Jr
FelipeSouza11
dstaroski
kenau
kenau
Phph09
Zack2
NKKF
Carlos Mesquita
lesgoy
fecirineu

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  :D) 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
Newbie
Newbie

Masculino Posts : 7
Pontos : 359
Reputação : 1
Registro : 09/07/2017
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 Posts : 779
Pontos : 1716
Reputação : 348
Registro : 25/01/2017
Idade : 15
Áreas de atuação : Oque será uma área de atuação, senão um modo de manter-nos presos ao sistema

Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com/u8329

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 Posts : 1088
Pontos : 2407
Reputação : 327
Registro : 16/06/2016
Idade : 39
Áreas de atuação : Iniciante em modelagem Blender,ScketSHUP
Progamador
Ideialista

Meu Canal
https://www.youtube.com/ch
Respeito as regras :

Ver perfil do usuário http://unnygames.000webhostapp.com/

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
Newbie
Newbie

Masculino Posts : 7
Pontos : 359
Reputação : 1
Registro : 09/07/2017
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 Posts : 1088
Pontos : 2407
Reputação : 327
Registro : 16/06/2016
Idade : 39
Áreas de atuação : Iniciante em modelagem Blender,ScketSHUP
Progamador
Ideialista

Meu Canal
https://www.youtube.com/ch
Respeito as regras :

Ver perfil do usuário http://unnygames.000webhostapp.com/

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
Newbie
Newbie

Posts : 1
Pontos : 403
Reputação : 0
Registro : 12/05/2017
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