Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Tema complicado..de guardar nivel.

Iniciado por ramunda, Junio 16, 2015, 11:59:56 AM

Tema anterior - Siguiente tema
Junio 16, 2015, 11:59:56 AM Ultima modificación: Junio 16, 2015, 02:36:41 PM por ramunda
Vale , buenas tardes, llevo rodando por el foro varias horas, y no saco nada en claro, playerprefasb ...y otras cosas que me suenan a chino mandarino ya que soy un pez en esto.
 
Lo único que pido es una ayudita, necesito que en un momento dado de el juego o escena con un collider objeto  o lo que sea me cree un checkpoint y se guarde el punto donde estaba y posteriormente poder cargarlo y seguir desde alli apretando una tecla o lo que sea.
 
No hace falta que sea ni gráfico ni completo solo que aga eso.
 
Alguien me puede echar un cable por favor?
 
gracias.

Junio 16, 2015, 03:05:35 PM #1 Ultima modificación: Junio 16, 2015, 03:05:52 PM por leocub58
Es muy fácil, pon un script al jugador y en el Start pones
gameObject.transform.position.x = http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.GetFloat("Checkpointx");
gameObject.transform.position.x = http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.GetFloat("Checkpointy");
gameObject.transform.position.x = http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.GetFloat("Checkpointz");
 
y en el objeto que quieres hacer checkpoint le pones lo mismo pero con setfloat
 
http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.SetFloat("Checkpointx", gameObject.transform.position.x);
http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.SetFloat("Checkpointy", gameObject.transform.position.y);
http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.SetFloat("Checkpointz", gameObject.transform.position.z);
 
Y así, cada vez que entres al juego te llevará al último checkpoint.

Cita de: leocub58 date=1434459935Es muy fácil, pon un script al jugador y en el Start pones
gameObject.transform.position.x = http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.GetFloat("Checkpointx");
gameObject.transform.position.x = http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.GetFloat("Checkpointy");
gameObject.transform.position.x = http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.GetFloat("Checkpointz");
 
y en el objeto que quieres hacer checkpoint le pones lo mismo pero con setfloat
 
http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.SetFloat("Checkpointx", gameObject.transform.position.x);
http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.SetFloat("Checkpointy", gameObject.transform.position.y);
http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.SetFloat("Checkpointz", gameObject.transform.position.z);
 
Y así, cada vez que entres al juego te llevará al último checkpoint.
 
Eres un Genio Leocub58, pero como te he dicho soy un pobre aprendiz de brujo....me dices que le ponga un scrip al jugador hasta aqui ok...pero que tipo de script java? C#? , el Start supongo que te refieres a el inicio de dicho script...el objeto puede ser cualquier objeto normal un cubo por ej? graciasssssssssssssssssss

Cita de: ramunda date=1434460505Eres un Genio Leocub58, pero como te he dicho soy un pobre aprendiz de brujo....me dices que le ponga un scrip al jugador hasta aqui ok...pero que tipo de script java? C#? , el Start supongo que te refieres a el inicio de dicho script...el objeto puede ser cualquier objeto normal un cubo por ej? graciasssssssssssssssssss
 
Usa el que más te guste, ami me gusta más javascript. Con start me refiero (en javascript ) function Start () {
Y sí, puede ser un objeto normal, pones el codigo de guardar posiciones en function OnTriggerEnter () {

Junio 16, 2015, 03:31:20 PM #4 Ultima modificación: Junio 16, 2015, 03:34:10 PM por ramunda
Cita de: leocub58 date=1434460755Usa el que más te guste, ami me gusta más javascript. Con start me refiero (en javascript ) function Start () {
Y sí, puede ser un objeto normal, pones el codigo de guardar posiciones en function OnTriggerEnter () {
 
Vale .. en algo la cague...cree como bien me has explicado estos dos scripts:
 
En el jugador:

#pragma strict
function Start () {
gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointx");
gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointy");
gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointz");
}

En un cubo con trigger activado con un box collider. tiene que llamarse Checkpoint o algo?

#pragma strict
var TeleportEndposition : Transform;
function OnTriggerEnter ()
{
PlayerPrefs.SetFloat("Checkpointx", gameObject.transform.position.x);
PlayerPrefs.SetFloat("Checkpointy", gameObject.transform.position.y);
PlayerPrefs.SetFloat("Checkpointz", gameObject.transform.position.z);
}

Paso por el cubo lo atraviesa y arranco de nuevo el juego pero no se queda donde el cubo....que he echo mal? :PP , gracias por tu paciencia!!

Junio 16, 2015, 04:02:03 PM #5 Ultima modificación: Junio 16, 2015, 04:06:59 PM por leocub58
Cita de: ramunda date=1434461480Vale .. en algo la cague...cree como bien me has explicado estos dos scripts:
 
En el jugador:

#pragma strict
function Start () {
gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointx");
gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointy");
gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointz");
}

En un cubo con trigger activado con un box collider. tiene que llamarse Checkpoint o algo?

#pragma strict
var TeleportEndposition : Transform;
function OnTriggerEnter ()
{
PlayerPrefs.SetFloat("Checkpointx", gameObject.transform.position.x);
PlayerPrefs.SetFloat("Checkpointy", gameObject.transform.position.y);
PlayerPrefs.SetFloat("Checkpointz", gameObject.transform.position.z);
}

Paso por el cubo lo atraviesa y arranco de nuevo el juego pero no se queda donde el cubo....que he echo mal? :PP , gracias por tu paciencia!!
Tienes los 3 puestos en gameObject.transform.position.x, cambia los dos ultimos por .y y .z

Cita de: leocub58 date=1434463323Tienes activado IsTrigger o solo desactivaste el box collider?
 
Tengo activado Box collider y el trigger(is Trigger)

Junio 16, 2015, 04:08:08 PM #7 Ultima modificación: Junio 16, 2015, 04:08:58 PM por leocub58
Tienes los 3 puestos en gameObject.transform.position.x, cambia los dos ultimos por .y y .z
 
 
  1. gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointx");
  2. gameObject.transform.position.y = PlayerPrefs.GetFloat("Checkpointy");

  3. gameObject.transform.position.z = PlayerPrefs.GetFloat("Checkpointz");


Cita de: leocub58 date=1434463688 
Tienes los 3 puestos en gameObject.transform.position.x, cambia los dos ultimos por .y y .z
 
 
  1. gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointx");
  2. gameObject.transform.position.y = PlayerPrefs.GetFloat("Checkpointy");

  3. gameObject.transform.position.z = PlayerPrefs.GetFloat("Checkpointz");

 

Junio 16, 2015, 04:17:14 PM #9 Ultima modificación: Junio 16, 2015, 04:30:06 PM por ramunda
Cita de: ramunda date=1434463898 
 
Slucionadoooooooooooooo era en player es verdad tenia x.x.x  que lerdo que soy....mil gracias!!!!!!!!!!!!! eres un genio de verdad gracias por la paciencia y por aportar.
 
Un saludo muy cordial!!

Cita de: ramunda date=1434464234Slucionadoooooooooooooo era en player es verdad tenia x.x.x  que lerdo que soy....mil gracias!!!!!!!!!!!!! eres un genio de verdad gracias por la paciencia y por aportar.
 
Un saludo muy cordial!!
No es nada hombre, muchas suerte con tu juego.

Cita de: leocub58 date=1434469504No es nada hombre, muchas suerte con tu juego.
 
Un solo detalle que es una tonteria pero ...cuando arranca el jugo de nuevo el personaje nace donde el checkpoint sin problema pero a 200 metros de caida libre jajaja se cae de el cielo un buen rato  es normal?
 
Gracias!!!

Junio 16, 2015, 08:06:26 PM #12 Ultima modificación: Junio 16, 2015, 08:34:49 PM por leocub58
Cita de: ramunda date=1434473266Un solo detalle que es una tonteria pero ...cuando arranca el jugo de nuevo el personaje nace donde el checkpoint sin problema pero a 200 metros de caida libre jajaja se cae de el cielo un buen rato  es normal?
 
Gracias!!!
@ramunda no, no es normal. Hay algo raro en el eje Y. Miratelo bien y si tienes muchos problemas intenta contactar conmigo por skype, lo uso más que el foro (igual que mi nombre)

Etiquetas: