Como fazer um corredor se fechando na unity
2 participantes
Página 1 de 1
Como fazer um corredor se fechando na unity
Boa noite galera.
É o seguinte estou ajudando uns colegas a criar um jogo de terror e não sou muito bom na programação.
Preciso fazer com que o player ao chegar em certo corredor,ele vá se fechando,queria fazer quando o player estiver a uma certa
distancia as paredes do corredor comecem a se fechar,segue o script que eu estava tentando,o que está comentado é o que eu estava usando antes que é o sistema de vector3.lerp,mais ai ele já inicia o game fazendo isso,e eu só quero q ative no momento q o player chegar perto,alguém pode me ajudar?segue o script.Desde já obrigado.
É o seguinte estou ajudando uns colegas a criar um jogo de terror e não sou muito bom na programação.
Preciso fazer com que o player ao chegar em certo corredor,ele vá se fechando,queria fazer quando o player estiver a uma certa
distancia as paredes do corredor comecem a se fechar,segue o script que eu estava tentando,o que está comentado é o que eu estava usando antes que é o sistema de vector3.lerp,mais ai ele já inicia o game fazendo isso,e eu só quero q ative no momento q o player chegar perto,alguém pode me ajudar?segue o script.Desde já obrigado.
- Código:
[font=Verdana, Arial, Helvetica, sans-serif]using System.Collections;[/font]
[font=Verdana, Arial, Helvetica, sans-serif]using System.Collections.Generic;[/font]
[font=Verdana, Arial, Helvetica, sans-serif]using UnityEngine;[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif]public class CorredorSeFechando : MonoBehaviour {[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] public Transform paredeStart;[/font]
[font=Verdana, Arial, Helvetica, sans-serif] //public Transform paredeFinish;[/font]
[font=Verdana, Arial, Helvetica, sans-serif] public float t;[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] private GameObject player;[/font]
[font=Verdana, Arial, Helvetica, sans-serif] public float distanciaParedeMover = 3;[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] private bool once = true;[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] // Use this for initialization[/font]
[font=Verdana, Arial, Helvetica, sans-serif] void Start () {[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] [/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] }[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] // Update is called once per frame[/font]
[font=Verdana, Arial, Helvetica, sans-serif] void Update() {[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] if (Vector3.Distance(transform.position, player.transform.position) < distanciaParedeMover && once)[/font]
[font=Verdana, Arial, Helvetica, sans-serif] {[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] StartCoroutine(ParedeMovendo());[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] once = false;[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] }[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] }[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] IEnumerator ParedeMovendo()[/font]
[font=Verdana, Arial, Helvetica, sans-serif] {[/font]
[font=Verdana, Arial, Helvetica, sans-serif] yield return new WaitForEndOfFrame();[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] transform.position = Vector3.MoveTowards(transform.position, paredeStart.position, t);[/font]
[font=Verdana, Arial, Helvetica, sans-serif] if(transform.position.z != paredeStart.position.z)[/font]
[font=Verdana, Arial, Helvetica, sans-serif] {[/font]
[font=Verdana, Arial, Helvetica, sans-serif] StartCoroutine(ParedeMovendo());[/font]
[font=Verdana, Arial, Helvetica, sans-serif] }[/font]
[font=Verdana, Arial, Helvetica, sans-serif] } [/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] // Vector3 newPoint = Vector3.Lerp(paredeStart.position, paredeFinish.position, t);[/font]
[font=Verdana, Arial, Helvetica, sans-serif] [/font]
[font=Verdana, Arial, Helvetica, sans-serif] http://transform.position = newPoint;[/font]
[font=Verdana, Arial, Helvetica, sans-serif] [/font]
[font=Verdana, Arial, Helvetica, sans-serif] [/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif]
[/font]
[font=Verdana, Arial, Helvetica, sans-serif] }[/font]
Leetz1k- Iniciante
- PONTOS : 2837
REPUTAÇÃO : 0
Respeito as regras :
Re: Como fazer um corredor se fechando na unity
Não entendo porque complicar tanto as coisas, faz uma animação, e toca ela a partir de um OnTriggerEnter. Animação tá aí pra ser usada gente...
Isabela- Avançado
- PONTOS : 2835
REPUTAÇÃO : 260
Idade : 24
Respeito as regras :
Tópicos semelhantes
» Como fazer um corredor ''infinito'' na unity?
» Como Fazer Uma Custscene no Unity?
» como fazer um jogo de fps no unity 5
» Como Fazer Final Lap no Unity
» como fazer um click to move no unity 5.6.3f1
» Como Fazer Uma Custscene no Unity?
» como fazer um jogo de fps no unity 5
» Como Fazer Final Lap no Unity
» como fazer um click to move no unity 5.6.3f1
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos