CheckPoint & Respawn
2 participantes
Página 1 de 1
CheckPoint & Respawn
Olá galera eu queria criar um sistema de CheckPoint onde eu posso ter uma quantidade X. Daí quando eu pegasse um checkpoint[X] desativaria o anterior Salvaria o que eu peguei e ativaria o próximo.
Só não tenho muita ideia de como fazer isso ! Sei lá por exemplo criar "10" checkpoints e colocar Tags : CheckPoint1,2,3...
colidir com (Checkpoint1) salvar 'transform', desativar e ativar (Checkpoint 2)? daí como fazer para quando dead = true ; ele instanciar no respawn correto ?
Obrigado. Tô com muita dificuldade nisso ! eu vi alguns tutoriais mas não serviram muito... :bounce:
Só não tenho muita ideia de como fazer isso ! Sei lá por exemplo criar "10" checkpoints e colocar Tags : CheckPoint1,2,3...
colidir com (Checkpoint1) salvar 'transform', desativar e ativar (Checkpoint 2)? daí como fazer para quando dead = true ; ele instanciar no respawn correto ?
Obrigado. Tô com muita dificuldade nisso ! eu vi alguns tutoriais mas não serviram muito... :bounce:
rafaelxd5- Membro
- PONTOS : 3261
REPUTAÇÃO : 6
Idade : 25
Respeito as regras :
Re: CheckPoint & Respawn
O problema do checkpoint é que ele deve ser feito em cima do seu jogo...
Você diz que quer salvar o transform, mas, só isso?
Quer salvar a rotação dele também? itens ativos no momento? inimigos já mortos? eventos que já aconteceram? portas já destrancadas?
As variáveis são muitas, muitas mesmo. Geralmente os sistemas de checkpoint são feitos quando o jogo está quase concluído, por que ai não haverão muitas novas variáveis para interferir no sistema.
Você diz que quer salvar o transform, mas, só isso?
Quer salvar a rotação dele também? itens ativos no momento? inimigos já mortos? eventos que já aconteceram? portas já destrancadas?
As variáveis são muitas, muitas mesmo. Geralmente os sistemas de checkpoint são feitos quando o jogo está quase concluído, por que ai não haverão muitas novas variáveis para interferir no sistema.
Re: CheckPoint & Respawn
Entendi, mas no momento só salvar o último ponto para restaurar, já que e um jogo de corrida e destruição.. na modelagem eu me garanto mas em programação comecei a pouco tempo, parece mais um umas gambiarra.cs kk'
rafaelxd5- Membro
- PONTOS : 3261
REPUTAÇÃO : 6
Idade : 25
Respeito as regras :
Re: CheckPoint & Respawn
Ok, primeiramente, seu jogo é 2D ou 3D? caso seja 2D, é visto de cima ou de lado?
Re: CheckPoint & Respawn
3D. tô tentando fazer um sistema de "Check" ,"Respawn" e agora "sistema de Laps", mas tá difícil achei que séria o mais fácil de fazer :/
Na verdade o Check Point e Respawn até consegui fazer com umas gambiarra sinistra,mas funciona kk'
Na verdade o Check Point e Respawn até consegui fazer com umas gambiarra sinistra,mas funciona kk'
- Código:
using UnityEngine;
using System.Collections;
public class CheckPoint : MonoBehaviour {
public GameObject[] CheckPoints;
public GameObject FinishLap;
public Transform Respawn;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (CheckPoints[1].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [0].transform.position;
}
if (CheckPoints[2].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [1].transform.position;
}
if (CheckPoints[3].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [2].transform.position;
}
if (CheckPoints[4].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [3].transform.position;
}
if (CheckPoints[5].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [4].transform.position;
}
if (CheckPoints[6].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [5].transform.position;
}
if (CheckPoints[7].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [6].transform.position;
}
if (CheckPoints[8].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [7].transform.position;
}
if (CheckPoints[9].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [8].transform.position;
}
if (CheckPoints[10].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [9].transform.position;
}
if (CheckPoints[11].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [10].transform.position;
}
if (CheckPoints[12].activeInHierarchy == true){
Respawn.transform.position = CheckPoints [11].transform.position;
}
if (CheckPoints[12].activeInHierarchy == true){
}
}
void OnTriggerEnter(Collider col) {
if (col.gameObject == CheckPoints[0]) {
CheckPoints[0].SetActive(false);
CheckPoints[1].SetActive(true);
}
if (col.gameObject == CheckPoints[1]) {
CheckPoints[1].SetActive(false);
CheckPoints[2].SetActive(true);
}
if (col.gameObject == CheckPoints[2]) {
CheckPoints[2].SetActive(false);
CheckPoints[3].SetActive(true);
}
if (col.gameObject == CheckPoints[3]) {
CheckPoints[3].SetActive(false);
CheckPoints[4].SetActive(true);
}
if (col.gameObject == CheckPoints[4]) {
CheckPoints[4].SetActive(false);
CheckPoints[5].SetActive(true);
}
if (col.gameObject == CheckPoints[5]) {
CheckPoints[5].SetActive(false);
CheckPoints[6].SetActive(true);
}
if (col.gameObject == CheckPoints[6]) {
CheckPoints[6].SetActive(false);
CheckPoints[7].SetActive(true);
}
if (col.gameObject == CheckPoints[7]) {
CheckPoints[7].SetActive(false);
CheckPoints[8].SetActive(true);
}
if (col.gameObject == CheckPoints[8]) {
CheckPoints[8].SetActive(false);
CheckPoints[9].SetActive(true);
}
if (col.gameObject == CheckPoints[9]) {
CheckPoints[9].SetActive(false);
CheckPoints[10].SetActive(true);
}
if (col.gameObject == CheckPoints[10]) {
CheckPoints[10].SetActive(false);
CheckPoints[11].SetActive(true);
}
if (col.gameObject == CheckPoints[11]) {
CheckPoints[11].SetActive(false);
CheckPoints[12].SetActive(true);
}
if (col.gameObject == CheckPoints[12]) {
CheckPoints[12].SetActive(false);
}
}
}
rafaelxd5- Membro
- PONTOS : 3261
REPUTAÇÃO : 6
Idade : 25
Respeito as regras :
Re: CheckPoint & Respawn
hmm, vou anotar aqui. Percebi que você usou um método que eu usava muito quando estava iniciando na programação, mas isto acaba deixando o script muito gigante.
Da pra fazer este código com Array, usando umas 100 linhas a menos.
Vou tentar fazer um vídeo para a próxima semana, conforme eu for liberando o meu tempo aqui...
Da pra fazer este código com Array, usando umas 100 linhas a menos.
Vou tentar fazer um vídeo para a próxima semana, conforme eu for liberando o meu tempo aqui...
Re: CheckPoint & Respawn
Ok, Marcos obrigado por tudo mano . Tô dando uma estuda sobre Array!!
rafaelxd5- Membro
- PONTOS : 3261
REPUTAÇÃO : 6
Idade : 25
Respeito as regras :
Re: CheckPoint & Respawn
pretendo trazer o vídeo sobre isto nesta semana ainda... só eu conseguir liberar um tempin
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos