Hola buenas, tengo problemas al pasar los puntos obtenidos en la escena 1 , a las siguientes escenas, he visto tutoriales, pero es algo antiguo ya que usa Application.loadedLevel == 2,
Este codigo lo tengo en un script de C#, y en unity dentro de un Canvas, donde hay más datos, como un texto de puntuacion, un menu ...
Entonces, lo que intento hacer es que al recoger las monedas y me sume puntes en la pantalla1, al pasar a la 2, tenga esa misma puntuacion más la que recoga en la 2
Espero que se me haya ententido :S jaja,
Dejo por aqui los script y alguna imagen gracias
Este codigo lo tengo en un script de C#, y en unity dentro de un Canvas, donde hay más datos, como un texto de puntuacion, un menu ...
Entonces, lo que intento hacer es que al recoger las monedas y me sume puntes en la pantalla1, al pasar a la 2, tenga esa misma puntuacion más la que recoga en la 2
Espero que se me haya ententido :S jaja,
Dejo por aqui los script y alguna imagen gracias
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Puntuacion : MonoBehaviour {
public int puntuacion;
public Text puntosTexto;
// Use this for initialization
void Start () {
if(PlayerPrefs.HasKey("Points")) {
//Esto es lo que intento hacer, pero no me deja, ya que esa funcion ya no se usa, lo he intentado con SceneManager, pero no se como realizarlo.
if(Application.loadedLevel == 2) {
PlayerPrefs.DeleteKey("Points");
puntuacion = 0;
}
else {
puntuacion = PlayerPrefs.GetInt("Points");
}
}
}
// Update is called once per frame
void Update () {
puntosTexto.text = ("Points: " + puntuacion);
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class PlayerControll : MonoBehaviour {
public float maxSpeed = 100f;
public float speed = 300f;
public bool grounded;
public float jumpPlayer = 11f;
private Rigidbody2D rb2d;
private Animator anim;
private bool jump;
private bool doubleJump;
private bool movement = true;
private SpriteRenderer spr;
private SpriteRenderer color;
public int vidas;
public int maxVidas=5;
private Puntuacion pantallaPuntos;
// Use this for initialization
void Start () {
rb2d = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator>();
spr = GetComponent<SpriteRenderer>();
vidas = maxVidas;
pantallaPuntos = GameObject.FindGameObjectWithTag("GameMaster").GetComponent<Puntuacion>();
}
// Update is called once per frame
void Update() {
//no tenga en cuenta que es pos o neg con Mathf.Abs
anim.SetFloat("Speed", Mathf.Abs(rb2d.velocity.x));
anim.SetBool("Grounded", grounded);
//salto precaucion para saltar hacia atras o 2 veces
if (grounded) {
doubleJump =