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 和光子网络的主要内容,如果未能解决你的问题,请参考以下文章
PhotonView CreatorActorNr、OwnerActorNr 和 ControllerActorNr 的区别