[RESOLVIDO] UNITY OBJETOS COM MESMO SCRIPT DE FORMA INDEPENDENTE
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] UNITY OBJETOS COM MESMO SCRIPT DE FORMA INDEPENDENTE
Seguinte, fiz um script JS bem legal para abrir portas,e outro para abrir gavetas, utilizando o RayCast e a tag dos objetos, porém, quando abro uma porta ou uma janela, todos os objetos que estão com os scripts executam a ação de abrir. alguém pode me ajudar a resolver este problema ?
Uso o Unity 5.
Script do RayCast :
Script da porta (o da porta e o da gaveta são praticamente iguais) :
Uso o Unity 5.
Script do RayCast :
- Código:
#pragma strict
import UnityEngine.UI;
var hit : RaycastHit;
var Mao : Image;
var cursor : Text;
function Start () {
}
function Update () {
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
var fwd = transform.TransformDirection (Vector3.forward);
Debug.DrawRay(transform.position, fwd * 3, Color.red);
if (Physics.Raycast (transform.position, fwd, hit, 3)) {
if (hit.transform.tag == ("Porta")) {
Mao.enabled = true;
cursor.text = " ";
if (Input.GetMouseButtonDown (0)) {
hit.collider.GetComponent(Porta).aberta = !Porta.aberta;
}
}
}
else {
Mao.enabled = false;
cursor.text = ".";
}
if (Physics.Raycast (transform.position, fwd, hit, 3)) {
if (hit.transform.tag == ("Gaveta")) {
Mao.enabled = true;
cursor.text = " ";
if (Input.GetMouseButtonDown (0)) {
hit.collider.GetComponent(Gaveta).aberta = !Gaveta.aberta;
}
}
}
else {
Mao.enabled = false;
cursor.text = ".";
}
Script da porta (o da porta e o da gaveta são praticamente iguais) :
- Código:
#pragma strict
static var aberta : boolean;
var angulo : int;
var rotacao : Quaternion;
var RotacaoAberta : float;
var RotacaoFechada : float;
function Start () {
aberta = false;
}
function Update () {
rotacao = Quaternion.Euler (transform.eulerAngles.x,angulo,transform.eulerAngles.z);
transform.rotation = Quaternion.Slerp(transform.rotation,rotacao,Time.deltaTime * 5);
if (aberta == true) {
angulo = RotacaoAberta;
}
if (aberta == false) {
angulo = RotacaoFechada;
}
}
Última edição por dstaroski em Dom maio 05, 2019 10:59 am, editado 1 vez(es) (Motivo da edição : Resolvido)
diegodiego01- Iniciante
- PONTOS : 2115
REPUTAÇÃO : 4
Idade : 28
Respeito as regras :
Re: [RESOLVIDO] UNITY OBJETOS COM MESMO SCRIPT DE FORMA INDEPENDENTE
Boa noite! é por causa da variável estática, static. O static a torna única pertencente somente aquela classe, por isso o script mesmo em diferentes objetos irá receber o mesmo valor para todos, pois a variável é exclusiva dele, tente usar public apenas.
Abraço!
Abraço!
Re: [RESOLVIDO] UNITY OBJETOS COM MESMO SCRIPT DE FORMA INDEPENDENTE
Boa noite meu amigo! então cara, eu tentei por como "public var aberta : boolean" mas acontece o seguinte erro:dstaroski escreveu:Boa noite! é por causa da variável estática, static. O static a torna única pertencente somente aquela classe, por isso o script mesmo em diferentes objetos irá receber o mesmo valor para todos, pois a variável é exclusiva dele, tente usar public apenas.
Abraço!
"Assets/Raycast.js(35,84): BCE0020: An instance of type 'Gaveta' is required to access non static member 'aberta'."
diegodiego01- Iniciante
- PONTOS : 2115
REPUTAÇÃO : 4
Idade : 28
Respeito as regras :
Re: [RESOLVIDO] UNITY OBJETOS COM MESMO SCRIPT DE FORMA INDEPENDENTE
Cara, estás a usar javaScript? Qual versao da Unity você está usando?
Re: [RESOLVIDO] UNITY OBJETOS COM MESMO SCRIPT DE FORMA INDEPENDENTE
To usando Java, uso o Unity 5MarcosSchultz escreveu:Cara, estás a usar javaScript? Qual versao da Unity você está usando?
diegodiego01- Iniciante
- PONTOS : 2115
REPUTAÇÃO : 4
Idade : 28
Respeito as regras :
Re: [RESOLVIDO] UNITY OBJETOS COM MESMO SCRIPT DE FORMA INDEPENDENTE
diegodiego01 escreveu:To usando Java, uso o Unity 5MarcosSchultz escreveu:Cara, estás a usar javaScript? Qual versao da Unity você está usando?
Parta para o C# urgentemente... E Use GetComponent para fazer consultas entre codigos.
Re: [RESOLVIDO] UNITY OBJETOS COM MESMO SCRIPT DE FORMA INDEPENDENTE
Aqui tem alguns exemplos em JS: https://answers.unity.com/questions/599131/how-does-this-even-work.html mas acredito que seja o melhor você reescrever em C#, porque as versões mais novas da Unity já não fornecem suporte ao javascript, pelo que eu lembre(me corrijam caso esteja errado).
Você vai precisar atribuir uma instancia do script em uma variável e então poderá acessar a variável pública, desculpe, não havia lembrado desse detalhe.
Abraço!
Você vai precisar atribuir uma instancia do script em uma variável e então poderá acessar a variável pública, desculpe, não havia lembrado desse detalhe.
Abraço!
Re: [RESOLVIDO] UNITY OBJETOS COM MESMO SCRIPT DE FORMA INDEPENDENTE
Vou tentar reescrever em C#; Obrigado pela ajuda galera!
diegodiego01- Iniciante
- PONTOS : 2115
REPUTAÇÃO : 4
Idade : 28
Respeito as regras :
Re: [RESOLVIDO] UNITY OBJETOS COM MESMO SCRIPT DE FORMA INDEPENDENTE
Fala ae galera, beleza ? passando aqui pra avisar que o script em C# funcionou perfeitamente!
obrigado! JavaScript tá bem obsoleto mesmo! passei todos os scripts do game pra C#, deu trabalho, mas ficou perfeito!
Abç!
obrigado! JavaScript tá bem obsoleto mesmo! passei todos os scripts do game pra C#, deu trabalho, mas ficou perfeito!
Abç!
diegodiego01- Iniciante
- PONTOS : 2115
REPUTAÇÃO : 4
Idade : 28
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Como "grudar" objetos no unity?
» [RESOLVIDO] Help. texto através dos objetos unity
» [RESOLVIDO] Unity 2018 - Bug com a iluminação da Spotlight nos Objetos
» [RESOLVIDO] Tem como trocar objetos dentro do inspector da unity?
» [RESOLVIDO] Script/Unity
» [RESOLVIDO] Help. texto através dos objetos unity
» [RESOLVIDO] Unity 2018 - Bug com a iluminação da Spotlight nos Objetos
» [RESOLVIDO] Tem como trocar objetos dentro do inspector da unity?
» [RESOLVIDO] Script/Unity
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos