photonView 和光子网络

Posted

技术标签:

【中文标题】photonView 和光子网络【英文标题】:photonView and Photon Network 【发布时间】:2020-05-15 08:46:45 【问题描述】:

我在通过 PhotonNetwork 连接时遇到了一点问题。我想通过按 L 向我显示玩家列表。一切正常,但是当我运行游戏并按 L 时,Unity 向我显示没有人加入。请帮帮我。它还写了 ID 为 1 的 PhotonView 没有用 PunRPC 或 @PunRPC(JS) 属性标记的方法“GraczWszedł”!参数:光子播放器 UnityEngine.Debug:LogError(Object)。

using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using UnityEngine;
using Debug = UnityEngine.Debug;
using Photon.Realtime;
using UnityEngine.SceneManagement;

public class MenadzerPolaczen : Photon.MonoBehaviour


    void Start()

    

    void Update()
        if (Input.GetKeyDown(KeyCode.L))
            Gracz.DebugListyGraczy();
    

    public void Polacz() 
        PhotonNetwork.ConnectUsingSettings("Dunkierka_1.0");
    

    void OnGUI() 
        GUI.Label(new Rect(0, 0, 200, 20),  PhotonNetwork.connectionStateDetailed.ToString());
    

    void OnJoinedLobby()
        SceneManager.LoadScene(1);
    

    void OnPhotonRandomJoinFailed()
        PhotonNetwork.CreateRoom(null);
    

    void OnLevelWasLoaded(int level) 
        if (level != 0)
            PhotonNetwork.JoinRandomRoom();
    

    void OnPhotonPlayerConnected(PhotonPlayer pp) 

    

    void OnPhotonPlayerDisconnected(PhotonPlayer pp) 

    

    [PunRPC]
    public void GraczWszedl(PhotonPlayer pp)
        Gracz gracz = new Gracz();        
        gracz.nick = pp.NickName;
        gracz.pp = pp;
        Gracz.gracze.Add(gracz);
    

    [PunRPC]
    void GraczWyszedl(PhotonPlayer pp) 

    

    void OnCreatedRoom()
        photonView.RPC(("GraczWszedł"), PhotonTargets.AllBuffered, PhotonNetwork.player);
    

【问题讨论】:

【参考方案1】:

如果你想列出你的玩家所在房间的玩家数量:

    确保创建房间。

    确保加入房间。

    PhotonNetwork.playerList 检索当前本地玩家房间中的所有玩家列表以及该玩家本身。 https://documentation.help/Photon-v1.81/class_photon_network.html#a2dc5e6cba79f899d9952f804db35b2f3

    您还可以通过设置 PhotonPlayer.customProperties 列出所有玩家属性 https://documentation.help/Photon-v1.81/class_photon_player.html#af8815abb8edaafbe6bddbf328f9612fb

【讨论】:

以上是关于photonView 和光子网络的主要内容,如果未能解决你的问题,请参考以下文章

Unity Photon:实例化非预制对象?

PhotonView CreatorActorNr、OwnerActorNr 和 ControllerActorNr 的区别

Unity PhotonView 是我的检查

Unity Gun Ammo 在多人游戏中没有减少问题(可能与我的多人游戏系统:光子有关)

如何使用 Photon 发送结构

使用 Photon Unity Networking 向网络游戏中的特定玩家显示消息