aparece e desaparece apertando um tecla.
5 participantes
Página 1 de 1
aparece e desaparece apertando um tecla.
eu preciso de ajuda,eu criei o script a seguir
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Set : MonoBehaviour {
float timer;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown (KeyCode.E))
gameObject.SetActive (false);
}
}
gurgelg752- MembroAvançado
- PONTOS : 2682
REPUTAÇÃO : 19
Áreas de atuação : estudo programação c# nas horas vagas
Respeito as regras :
Re: aparece e desaparece apertando um tecla.
- Código:
using UnityEngine;[size=14][/size]using System.Collections;[size=14][/size][size=14][/size]public class Exemplo : MonoBehaviour {[size=14][/size][size=14][/size] public GameObject Objeto;[size=14][/size][size=14][/size] void Update () {[size=14][/size] if(Input.GetKeyDown("i")){[size=14][/size] if(Objeto.gameObject.activeSelf == true){[size=14][/size] Objeto.gameObject.SetActive(false);[size=14][/size] }[size=14][/size] else if(Objeto.gameObject.activeSelf == false){[size=14][/size] Objeto.gameObject.SetActive(true);[size=14][/size] }[size=14][/size] }[size=14][/size] }[size=14][/size]}
Última edição por Santiago Furtado em Sáb Dez 16, 2017 8:59 pm, editado 4 vez(es)
Santiago Furtado- MembroAvançado
- PONTOS : 3735
REPUTAÇÃO : 16
Idade : 23
Respeito as regras :
Re: aparece e desaparece apertando um tecla.
aff ta bugando
Santiago Furtado- MembroAvançado
- PONTOS : 3735
REPUTAÇÃO : 16
Idade : 23
Respeito as regras :
Re: aparece e desaparece apertando um tecla.
é igual oq o marcos disse aqui: https://www.schultzgames.com/t202-ajudascript-ativar-desativar
Santiago Furtado- MembroAvançado
- PONTOS : 3735
REPUTAÇÃO : 16
Idade : 23
Respeito as regras :
Re: aparece e desaparece apertando um tecla.
Assim man;
[list=linenums]
[*]using[size=47] [/size][size=47]System[/size][size=47].[/size][size=47]Collections[/size][size=47];[/size]
[*]using[size=47] [/size][size=47]System[/size][size=47].[/size][size=47]Collections[/size][size=47].[/size][size=47]Generic[/size][size=47];[/size]
[*]using[size=47] [/size][size=47]UnityEngine[/size][size=47];[/size]
[*]public[size=47] [/size]class[size=47] [/size][size=47]Set[/size][size=47] [/size][size=47]:[/size][size=47] [/size][size=47]MonoBehaviour[/size][size=47] [/size][size=47]{[/size]
[*][size=47] [/size]float[size=47] timer[/size][size=47];[/size]
[*][size=47] [/size][size=47]// Use this for initialization[/size]
[*][size=47] [/size]void[size=47] [/size][size=47]Start[/size][size=47] [/size][size=47]()[/size][size=47] [/size][size=47]{[/size]
[*][size=47] [/size][size=47]}[/size]
[*][size=47] [/size]
[*][size=47] [/size][size=47]// Update is called once per frame[/size]
[*][size=47] [/size]void[size=47] [/size][size=47]Update[/size][size=47] [/size][size=47]()[/size][size=47] [/size][size=47]{[/size]
[*][size=47] [/size]if[size=47] [/size][size=47]([/size][size=47]Input[/size][size=47].[/size][size=47]GetKeyDown[/size][size=47] [/size][size=47]([/size][size=47]KeyCode[/size][size=47].[/size][size=47]E[/size][size=47]))[/size]
[*][size=47] gameObject[/size][size=47].[/size][size=47]SetActive = !gameObject.SetActive[/size][size=47];[/size]
[*][size=47] [/size][size=47]}[/size]
[*][size=47]}[/size]
[/list]
[list=linenums]
[*]using[size=47] [/size][size=47]System[/size][size=47].[/size][size=47]Collections[/size][size=47];[/size]
[*]using[size=47] [/size][size=47]System[/size][size=47].[/size][size=47]Collections[/size][size=47].[/size][size=47]Generic[/size][size=47];[/size]
[*]using[size=47] [/size][size=47]UnityEngine[/size][size=47];[/size]
[*]public[size=47] [/size]class[size=47] [/size][size=47]Set[/size][size=47] [/size][size=47]:[/size][size=47] [/size][size=47]MonoBehaviour[/size][size=47] [/size][size=47]{[/size]
[*][size=47] [/size]float[size=47] timer[/size][size=47];[/size]
[*][size=47] [/size][size=47]// Use this for initialization[/size]
[*][size=47] [/size]void[size=47] [/size][size=47]Start[/size][size=47] [/size][size=47]()[/size][size=47] [/size][size=47]{[/size]
[*][size=47] [/size][size=47]}[/size]
[*][size=47] [/size]
[*][size=47] [/size][size=47]// Update is called once per frame[/size]
[*][size=47] [/size]void[size=47] [/size][size=47]Update[/size][size=47] [/size][size=47]()[/size][size=47] [/size][size=47]{[/size]
[*][size=47] [/size]if[size=47] [/size][size=47]([/size][size=47]Input[/size][size=47].[/size][size=47]GetKeyDown[/size][size=47] [/size][size=47]([/size][size=47]KeyCode[/size][size=47].[/size][size=47]E[/size][size=47]))[/size]
[*][size=47] gameObject[/size][size=47].[/size][size=47]SetActive = !gameObject.SetActive[/size][size=47];[/size]
[*][size=47] [/size][size=47]}[/size]
[*][size=47]}[/size]
[/list]
fabriciorsz34- Avançado
- PONTOS : 3337
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: aparece e desaparece apertando um tecla.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Set : MonoBehaviour {
float timer;
public GameObject m_object;
void Start () {
}
void Update () {
if (Input.GetKeyDown (KeyCode.E))
m_object.SetActive (!m_object.activeSelf);
}
}
Só que tu está desativando o objeto que é a instancia do código... O Update não funcionará, quando desativado, ou seja, você tem que colocar o script em um objeto e depois anexa-lo o outro nesse script, para que o script esteja sempre em execução!
Re: aparece e desaparece apertando um tecla.
Ao inves de gameobject.SetActive (false) ;vc coloca gameObject.SetActive = !gameObject.SetActive;
fabriciorsz34- Avançado
- PONTOS : 3337
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: aparece e desaparece apertando um tecla.
O objeto possui alguma outra função? collider, trigger? Tente trabalhar com a mesh ou render dele. isso permite que mantenha o objto ativo sem perder o script.
Re: aparece e desaparece apertando um tecla.
Haaaa!Por isso que esse script tambem não tava funcionadorecagonlei escreveu:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Set : MonoBehaviour {
float timer;
public GameObject m_object;
void Start () {
}
void Update () {
if (Input.GetKeyDown (KeyCode.E))
m_object.SetActive (!m_object.activeSelf);
}
}
Só que tu está desativando o objeto que é a instancia do código... O Update não funcionará, quando desativado, ou seja, você tem que colocar o script em um objeto e depois anexa-lo o outro nesse script, para que o script esteja sempre em execução!
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Set2 : MonoBehaviour {
bool ligado = true;
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown (KeyCode.E) && ligado == true) {
SetActive (false);
ligado = false;
}else if(Input.GetKeyDown (KeyCode.E) && ligado == false){
SetActive(true);
ligado = true;
}
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Set2 : MonoBehaviour {
bool ligado = true;
public GameObject obj;
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown (KeyCode.E) && ligado == true) {
obj.SetActive (false);
ligado = false;
}else if(Input.GetKeyDown (KeyCode.E) && ligado == false){
obj.SetActive(true);
ligado = true;
}
}
}
gurgelg752- MembroAvançado
- PONTOS : 2682
REPUTAÇÃO : 19
Áreas de atuação : estudo programação c# nas horas vagas
Respeito as regras :
Tópicos semelhantes
» Caixa de dialogo aparece e desaparece muito rápido ;-
» Como criar Objetos (GameObjects) Apertando Uma tecla
» Como fazer para sair do jogo apertando uma tecla?
» Como implantar uma bomba com um personagem apertando uma tecla, estilo bomberman
» Porque o meu gameobject desaparece?
» Como criar Objetos (GameObjects) Apertando Uma tecla
» Como fazer para sair do jogo apertando uma tecla?
» Como implantar uma bomba com um personagem apertando uma tecla, estilo bomberman
» Porque o meu gameobject desaparece?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos