Unity 3D 2020 Multiplayer Tutorial Photon 2 Leave Room Parte 6 (Para Principiantes)

Unity 3D 2020 Multiplayer Tutorial Photon 2 Leave Room Parte 6 (Para Principiantes)

Compártelo con otros

Suscribanse!

0
(0)

Para esta lección Tutorial sobre cómo hacer un videojuego de Unity multijugador en Unity 3D usando el complemento Photon 2, le enseñaremos cómo desconectar jugadores para el juego multijugador que hemos creado. También le mostraremos cómo manejar el evento de un jugador diferente que abandona el juego y finalmente hablaremos sobre la migración del host. La migración del host es cuando el cliente maestro se desconecta del juego y otro cliente maestro debe hacerse cargo de las conexiones. Lo primero que haremos es abrir nuestro script C # de configuración del juego en este script, crearemos una función de desconexión pública que luego podamos vincular a un botón de la interfaz de usuario. Esta función desconectará nuestro reproductor y luego nos regresará a la escena del menú principal. Si seguiste el video, ahora deberías tener un juego en funcionamiento que permita al jugador conectarse y desconectarse a una sala de multijugador.

Clase AvatarSetup

using Photon.Pun;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AvatarSetup : MonoBehaviour
{
    private PhotonView PV;
    public GameObject myCharacter;
    public int characterValue;
    // Start is called before the first frame update
    void Start()
    {
        PV = GetComponent<PhotonView>();
        if (PV.IsMine)
        {
            PV.RPC("RPC_AddCharacter", RpcTarget.AllBuffered, PlayerInfo.PI.mySelectedCharacter);
        }
    }

    [PunRPC]
    void RPC_AddCharacter(int whichCharacter)
    {
        characterValue = whichCharacter;
        myCharacter = Instantiate(PlayerInfo.PI.allCharacters[whichCharacter], transform.position, transform.rotation, transform);
    }
}

Clase MenuController

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MenuController : MonoBehaviour
{

    public void OnClickCharacterPick(int whichCharacter)
    {
        if (PlayerInfo.PI != null)
        {
            PlayerInfo.PI.mySelectedCharacter = whichCharacter;
            PlayerPrefs.SetInt("MyCharacter", whichCharacter);
        }
    }
}

Clase PlayerInfo

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerInfo : MonoBehaviour
{
    public static PlayerInfo PI;

    public int mySelectedCharacter;
    public GameObject[] allCharacters;
    private void OnEnable()
    {
        if (PlayerInfo.PI == null)
        {
            PlayerInfo.PI = this;
        }
        else
        {
            if (PlayerInfo.PI != this)
            {
                Destroy(PlayerInfo.PI.gameObject);
                PlayerInfo.PI = this;
            }
        }
        DontDestroyOnLoad(this.gameObject);
    }
    // Start is called before the first frame update
    void Start()
    {
        if (PlayerPrefs.HasKey("MyCharacter"))
        {
            mySelectedCharacter = PlayerPrefs.GetInt("MyCharacter");
        }
        else
        {
            mySelectedCharacter = 0;
            PlayerPrefs.SetInt("MyCharacter",mySelectedCharacter);
        }
    }

}
¿Quieres publicar tus propios proyectos?. ¡Pues que esperas!

Suscríbete

Suscríbete a nuestro canal de YouTube

Síguenos en nuestro canal de YouTube dedicado a tecnología, marketplace de proyectos tecnológicos, cursos online y tutoriales de desarrollo de videojuegos. Ofrecemos consultoría en desarrollo de software, marketing online, servicios de TI, hosting web, dominios web y más.

Siguenos en Patreon

Si quieres contribuir con cualquier aporte o donación hacia nuestros proyectos y el canal puedes hacerlo a través de nuestra cuenta en Patreon.

¿Qué tan útil fue esta publicación?

¡Haz clic en una estrella para calificarla!

Puntuación media 0 / 5. Recuento de votos: 0

No hay votos hasta ahora! Sé el primero en calificar esta publicación.

¡Lamentamos que esta publicación no te haya sido útil!

¡Permítanos mejorar esta publicación!

¿Cuéntanos cómo podemos mejorar esta publicación?

Escrito por 

Founder of ZoeGeop Technologies. Apasionado por la tecnología, emprendedor, investigador y player innato. Creyente de la posibilidad que todos tenemos para lograr lo que nos propongamos con una pizca de enfoque y disciplina.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *