checkpoint playerpref
Publié : 29 Jan 2021 11:39
bonjour, est ce que quelqu'un pourrait m'aider sur un problème sur lequel je bloque depuis quelques jours et j'ai rien trouvé sur le net.
alors voilà, je m'entraine à concevoir un jeu Unity 2D, type Mario. et je désire faire un système de checkpoint. Ainsi, je joueur pourrait revivre au dernier chechpoint après avoir vu une publicité (Rewarded AD). donc la partie pub, ça fonctionne, après visionnage, il y "recharge de la partie" et replacement du personnage au premier checkpoint.
le problème est que : il revient toujours au premier cherckpoint, il n'enregistre pas les coordonèes des checkpoints suivant, j'ai tout essayé : j'ai mis les checkpoint en prefabs, je les ai sorti, j'ai essayé de les faire séparément, j'ai essaye une courotine, pour effacer les donner et les recharger après nouvelle collision er rien n'y fait, il revient toujours au premier checkpoint. ci-joint, mon script
donc au final, s'il y a collision avec le checkpoint, les coordonnées du checkpoint sont sauvegardé et après, si la publicité est vue, le joueur est replacé au checkpoint. la recharge du niveau est dans un autre script et de toute façon ça ne pause pas de problèmes.
merci de m'avoir lu
alors voilà, je m'entraine à concevoir un jeu Unity 2D, type Mario. et je désire faire un système de checkpoint. Ainsi, je joueur pourrait revivre au dernier chechpoint après avoir vu une publicité (Rewarded AD). donc la partie pub, ça fonctionne, après visionnage, il y "recharge de la partie" et replacement du personnage au premier checkpoint.
le problème est que : il revient toujours au premier cherckpoint, il n'enregistre pas les coordonèes des checkpoints suivant, j'ai tout essayé : j'ai mis les checkpoint en prefabs, je les ai sorti, j'ai essayé de les faire séparément, j'ai essaye une courotine, pour effacer les donner et les recharger après nouvelle collision er rien n'y fait, il revient toujours au premier checkpoint. ci-joint, mon script
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CheckPoint : MonoBehaviour
{
private void OnTriggerEnter2D(Collider2D collision){
if(collision.CompareTag("Player")){
PlayerPrefs.SetFloat("x",gameObject.transform.position.x);
PlayerPrefs.SetFloat("y",gameObject.transform.position.y);
PlayerPrefs.SetFloat("z",gameObject.transform.position.z);
}
}
public void Update(){
if(PlayerPrefs.GetInt("isRewarded")== 1 ){
float x = PlayerPrefs.GetFloat("x");
float y = PlayerPrefs.GetFloat("y");
float z = PlayerPrefs.GetFloat("z");
GameObject.FindGameObjectWithTag("Player").transform.position = gameObject.transform.position;
GameOverManager.instance.isRewarded = 0;
PlayerPrefs.SetInt("isRewarded", 0);
}
}
}
merci de m'avoir lu