Bonjour a tous .
Je suis entrain de creer un petit jeu multijoueur en ligne . et j'ai reussi quelque étapes . j'ai configurer le player prefab et j'ai réussi à instancier un objet dans la scene grace à ca :

Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
    [Command]
    void Cmdbars()
    {
        GameObject bar = Instantiate(barH, GameObject.Find("pos1").GetComponent<Transform>().transform.position, Quaternion.identity) as GameObject;
        NetworkServer.Spawn(bar);
    }

Maintenant je veux que si on clique sur cet objet son sprite change .
pour ça jai utiliser cette methode :

Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    [Command]
    void Cmdclick()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Vector2 origin = new Vector2(Camera.main.ScreenToWorldPoint(Input.mousePosition).x,
                             Camera.main.ScreenToWorldPoint(Input.mousePosition).y);
            RaycastHit2D hit = Physics2D.Raycast(origin, Vector2.zero, 0f);
 
 
            if (hit && hit.transform.gameObject.tag.Equals("Untagged"))
            {
                hit.transform.gameObject.GetComponent<SpriteRenderer>().sprite = blueBarre.GetComponent<SpriteRenderer>().sprite;
                hit.transform.gameObject.tag = "ok";
 
            }
        }
    }

Le problème c'est que le sprite change seulement en local et pas chez tous les joueurs .