Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: marketxu en Noviembre 15, 2015, 06:40:55 PM

Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: marketxu en Noviembre 15, 2015, 06:40:55 PM
Hola el caso es que uso este script. 
function OnTriggerEnter() {
 Application.LoadLevel("Level04");
}

 pero no veo como hacer seleccionable en el inspector, el nivel que quiero cargar.antes tenia 4 niveles y usaba 4 scripts iguales cambiando el nombre del nivel en cada uno pero ahora tengo casi 40 y eso no es viable.si pudiera arrastrar la escena a cargar, seria lo suyo. gracias de antemano.
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: GSG3D en Noviembre 15, 2015, 08:15:19 PM
Arrastrar? Quieres hacer un menu para seleccionar los niveles? Porque si es asi no se para que usas OnTrigger, o quieres que al detectar el trigger cargue un nvl?
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: marketxu en Noviembre 15, 2015, 08:43:02 PM
La idea es para cargar niveles como en el half-life, uno detrás de otro,lo de arrastrar es para que en el inspector seleccione la escena objetivo ya que pueden haber unas 3 opciones( distintas escenas) por escena al final tendría muchos archivos casi iguales solo para esto. 
uso el OnTrigger para que cargue el nivel que preselecciono en el inspector al pasar el player por encima.
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: GSG3D en Noviembre 15, 2015, 08:54:36 PM
Entonces utiliza un arreglo de escenas o que contenga el nombre de la escena y utiliza un simple boton, si quieres ya con thumbs y demas ya tendrias que crear una clase para ello.
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: marketxu en Noviembre 15, 2015, 09:00:38 PM
El problema está ahí, que no tengo ni idea de como hacerlo.las escenas las tengo nombradas con casa, patio, escaleras, terraza, sotano, etcPor ejemplo, descubrí como seleccionar la tag que tenia que seguir una IA usando una public var pero es es en c# en js no sé como hacerlo.
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: GSG3D en Noviembre 15, 2015, 09:31:37 PM
Reformula lo que quieres lograr, asi vas resolviendo por partes, y explica nuevamente.
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: marketxu en Noviembre 15, 2015, 09:43:58 PM
vale, vamos a verpara cargar cada escena uso un script "cambiarnivel2.js" para entrar en la escena 2 , "cambiarnivel3.js" para entrar en la escena 3, y así sucesivamente.al tener 60 escenas, tendría 60 archivo  desde "cambiarnivel2.js" a"cambiarnivel60.js" lo cual es un engorro.lo que quiero es limitar esta función a un solo script.
Osea que pueda añadir el script a un trigger y desde el inspector elija la escena destino, bien escribiendo el nombre de la escena o bien arrastrando la escena objeto, me resulta indiferente. 
Pero vamos que no doy con la forma.ya te digo que llevo poco en esto y voy aprendiendo sobre la marcha. 
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: GSG3D en Noviembre 15, 2015, 09:55:47 PM
Entonces crea un solo script asi...
public string nombreEscena;
Application.LoadScene(nombreEscena);
Y en el inspector le pones el nombre de tu escena.
No copies y pegues lo que te paso, investiga esto antes de hacer algo.
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: marketxu en Noviembre 15, 2015, 10:32:09 PM
si clarogracias 
algo asi?
 var sceneName : string = "XXXXX";
function OnTriggerEnter()
 Application.LoadLevel(sceneName);


}
o algo así

public string[]  nombreEscena;
function OnTriggerEnter() {
 Application.LoadScene(nombreEscena);
}

 dandome contra un muro otra vez 
tampoco así.....
public Object nextScene; 
function OnTriggerEnter() {
  Application.LoadLevel(nextScene.name);
}

 
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: marketxu en Noviembre 15, 2015, 11:11:46 PM
vale he conseguido esto
using UnityEngine;
using System.Collections;

public class levelloader : MonoBehaviour
{
public GameObject Scene;
void OnTriggerEnter(Collider other) {
   Application.LoadLevel("Scene");
}
}
pero el problema que tengo ahora es que no puedo añadir una escena como un game object. me voy acercando pero no doy con la clave 
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: marketxu en Noviembre 16, 2015, 12:07:55 AM
Es oficial estoy mareao y mas perdido del copón.
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: GSG3D en Noviembre 16, 2015, 12:19:01 AM
Vos mismo te estas respondiendo, una escena no es un GameObject es un Scene, y ademas estas usando "" en el LoadScene, te recomiendo que leas la documentacion de unity y que aprendas programacion porque sino vas a tropezar muy seguido con cosas muy basicas.
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: marketxu en Noviembre 16, 2015, 12:29:34 AM
lo hago todo tirando de documentacion
pero no entiendo que debo cambiar 
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: marketxu en Noviembre 16, 2015, 09:30:37 AM
soy incapaz de ver el fallo y la solucion 
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: marketxu en Noviembre 16, 2015, 01:05:17 PM
hecho 
var levelToLoad : String;


function OnTriggerEnter(hit : Collider)
{
    Application.LoadLevel(levelToLoad);
}
Es que siempre me pasa lo mismo, lo he probado mil veces pero me equivoqué en tonterias.Muchas gracias por la orientación.Pd. existe alguna maera de cargar una escena sin destruir el player? (en consecuencia, mantener inventario etc). y digamos que si cargas una escena nueva completas la escena, y regresas a la anterior , apareceras en el punto de partida original del player, ¿como hago para que este punto cambie de lugar? 
 (//<fileStore.core_Attachment>/monthly_2015_11/5649cb89a43d4_Sin_ttulo.jpg.ca4e9b65615ca493ddf89de10a250f28.jpg)
Título: Seleccionar nivel a cargar? (solucionado)
Publicado por: GSG3D en Noviembre 16, 2015, 06:51:07 PM
DontDestroyOnLoad