D'accord je pensait à cela mais j'avais quelques doutes que tu as effacés, je teste cela tout de suite
Sinon un Grand Merci a toi .
[RESOLU] [DB-RS] Freeze la position du joueur lors d'une fonction
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Re: [DB-RS] Freeze la position du joueur lors d'une fonction
Un autre problème intervient. j'ai bien rajouter le code qui instantie player au code de mon joueur mais pourtant il me dit dans la console qu'il n'est pas instancier j'ai testé avec un debug log comme avant et il est null.
Le code :
La console :
Encore désolé
Le code :
Code : Tout sélectionner
[SerializeField] PlayerController player;
private void Start()
{
animstone = GetComponent<Animator>();
player = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerController>();
Debug.Log("player: " + player);
Re: [DB-RS] Freeze la position du joueur lors d'une fonction
Si player est null, la logique pousse à se demander deux choses:
- dans ta scène, ton joueur possède-t-il le tag 'Player' ?
- et si oui, après as-t-il d'attaché un composant PlayerController (script) ?
- dans ta scène, ton joueur possède-t-il le tag 'Player' ?
- et si oui, après as-t-il d'attaché un composant PlayerController (script) ?
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ
Re: [DB-RS] Freeze la position du joueur lors d'une fonction
Pour que chaque joueur est son personnage il faut créé un networkManager et dans ce dernier on instantie une prefab de player. Des que l'on lance la partie soit en local ou en resaux il créé un clone pour le joueur ( derriere son ecran) qu'il va pouvoir déplacer.
J'ai fait quelques tests pour voir quelques choses
j'ai assignié à player (dans l'inspector ) ma prefab de personnage qui a le code PlayerController et cela donne le probleme
Mais lorsque que je lance et que j'assigne à player mon clone sur la scene le problème se résou.
Donc il faudrait assigner non pas ma prefab mais mon clone ?
or je ne peux accéder à mon clone que lorsque je lance une partit et les modifs s'éffacent une la partit fini.
Il faudrait pouvoir assigner mon clone dpuis le script ?
J'ai fait quelques tests pour voir quelques choses
j'ai assignié à player (dans l'inspector ) ma prefab de personnage qui a le code PlayerController et cela donne le probleme
Mais lorsque que je lance et que j'assigne à player mon clone sur la scene le problème se résou.
Donc il faudrait assigner non pas ma prefab mais mon clone ?
or je ne peux accéder à mon clone que lorsque je lance une partit et les modifs s'éffacent une la partit fini.
Il faudrait pouvoir assigner mon clone dpuis le script ?
Re: [DB-RS] Freeze la position du joueur lors d'une fonction
C'est bon j'ai régler mon probleme en fait le script stone assignait avant que l'objet ne soit sur la scene
Merci et j'espere ne pas t'avoir fait perdre trop de temps.
Sur ce bonne coninuation
Je file les codes pour ceux qui veulent :
Merci et j'espere ne pas t'avoir fait perdre trop de temps.
Sur ce bonne coninuation
Je file les codes pour ceux qui veulent :
Code : Tout sélectionner
public class Stone : NetworkBehaviour {
enum StateAnim
{
break1,
}
private StateAnim stanim;
private Animator animstone;
public float minspeed;
public int tier;
public static int durability;
public bool readytomine;
public PlayerController player;
private void Start()
{
animstone = GetComponent<Animator>();
StartCoroutine(StartWait());
}
IEnumerator StartWait()
{
yield return new WaitForSeconds(minspeed);
player = GameObject.Find("Player 1 1(Clone)").GetComponent<PlayerController>();
}
Code : Tout sélectionner
public class PlayerController : NetworkBehaviour
{
private NetworkAnimator anim;
private StateAnim state;
public Rigidbody2D rigidplayer;
private float minspeed;
public float speed;
private Vector3 movement;
public override void OnStartLocalPlayer()
{
Camera.main.GetComponent<Followcam>().setTarget(gameObject.transform);
rigidplayer = GameObject.FindGameObjectWithTag("Player").GetComponent<Rigidbody2D>();
Debug.Log("rigidplayer: " + rigidplayer);
}
Re: [DB-RS] Freeze la position du joueur lors d'une fonction
L'essentiel c'est que tu ai pu trouver la solution te permettant d'avancer.
Pour le reste, c'est le but du forum.
Si c'est ok pour toi, passe ton sujet en résolu (édition du titre du premier message)
bonne soirée.
Pour le reste, c'est le but du forum.
Si c'est ok pour toi, passe ton sujet en résolu (édition du titre du premier message)
bonne soirée.
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ