그냥 유닛 멀티 게임(photon) 방 일람표를 만들었어요.

14338 단어 PhotonUnity

일단 준비를 하고.


가져오기Photon Unity Networking Free
photon 웹 사이트에 사용자 등록
프로그램 ID 가져올게요.
무료면 20명을 동시에 방문할 수 있다.

복제 애플리케이션 ID
Unity에서 window->Photon Unity Networking-PUN 마법사 열기

AppId 또는 e-메일에 설정 Up Project 붙여넣기
Done!이렇게 완성이 됐습니다.

이렇게 도입한 녀석들의 시위가 벌어졌군.
혼자서는 의미가 없어 Build Setting에 Scene 다 집어넣어
데모허브는 메뉴이기 때문에 맨 위에 올려놓고 구축합니다.

네, 이것은 Unity상의 것과 세워진 것입니다. 한 사람이 두 개의 배역을 완성합니다!

데모 워커의 장면입니다.이것은 방 제작 기능도 있고 채팅도 할 수 있다.

PUN API 참조(Ver.1.6)
Photon Turnbased가 없다고 생각하면 끝이야?
그럼 실시간으로 하면 돼.
Photon Turnbased 신규 주문 접수 완료 알림

일단 로그인 방법을 알려드릴게요.


네, 우선 프로그램의 버전 번호를 기재하는 것이 필요합니다.
PhotonNetwork.ConnectUsingSettings("バージョン番号");
//Roomに参加
PhotonNetwork.JoinRoom(roomName);

//Roomを作成
PhotonNetwork.CreateRoom(roomName);
//既に存在する場合は失敗し、これをコール:: OnPhotonCreateGameFailed
//CreateRoomの引数RoomOptionsでルームの人数を設定したりできる

//ランダムにどのRoomにでも参加する
PhotonNetwork.JoinRandomRoom();
//マッチするゲームが無い場合、失敗、そしてこれをコール:: OnPhotonRandomJoinFailed
비밀번호가 있는 방을 만들려면 여기를 참고하세요.그렇구나!
초대자만 방에 들어갈 수 있는 방법.
룸 리스트
foreach (RoomInfo room in PhotonNetwork.GetRoomList())
{
    Debug.Log(room.name);  //部屋名
    Debug.Log(room.playerCount);    //部屋の入場人数
    Debug.Log(room.maxPlayers);  //最大人数
}

방을 만들어 보세요!


나는 먼저 방을 만들고 싶어서 반했다.
방이랑 방을 랜덤으로 만들 수 있는데.
방 일람표를 도무지 구할 수가 없다.
PhotonServerSeting의 Auto-Join Lobby 검사
이거 안 넣으면 로비 일람표 못 받아요.

살짝 안 나오네.
어쨌든 먼저 이름을 정한 다음에 방을 만들고 방에 참가한 다음에 무작위 방에서 참가를 실시한다.

다음은 열쇠가 있는 방을 만들어 보려고 했지만 아직 설치되지 않았다.
비록 일부분일 뿐이지만
방을 짓는 곳
    public void CreateRoom(string roomName, int playerCount, string password)
    {
        string roomNameStr = roomName;
        if(!string.IsNullOrEmpty(password)) roomNameStr += "_" + password;
        PhotonNetwork.CreateRoom (
            roomNameStr,    // ユニークな部屋名
            new RoomOptions() {maxPlayers = playerCount},
            null);
    }

    public void OnPhotonCreateRoomFailed()
    {
        Debug.Log("OnPhotonCreateRoomFailed got called. This can happen if the room exists (even if not visible). Try another room name.");
    }

    public void OnPhotonRandomJoinFailed()
    {
        Debug.Log("OnPhotonRandomJoinFailed got called. Happens if no room is available (or all full or invisible or closed). JoinrRandom filter-options can limit available rooms.");
    }

    public void OnCreatedRoom()
    {
        PhotonNetwork.LoadLevel("Room");
    }
방 일람이 보이는 곳
        if (PhotonNetwork.GetRoomList().Length == 0)
        {
            Debug.LogWarning("部屋なし");
        }
        else
        {
            GameObject roomObj = null;
            foreach (RoomInfo room in PhotonNetwork.GetRoomList()) {

                roomObj = Instantiate(Resources.Load(CommonConst.ROOM_ITEM)) as GameObject;
                roomObj.transform.parent = scrollTran;
                roomObj.transform.localScale = Vector3.one;
                roomObj.GetComponent<RoomItem>().SetData(room);

        }
랜덤 룸에 들어가는 곳.

public void RandomEnter()
    {
        PhotonNetwork.JoinRandomRoom();
    }

    public void OnJoinedRoom()
    {
        Debug.Log("OnJoinedRoom");
        PhotonNetwork.LoadLevel("Room");
    }

    public void OnPhotonRandomJoinFailed()
    {
        Debug.Log("OnPhotonRandomJoinFailed got called. Happens if no room is available (or all full or invisible or closed). JoinrRandom filter-options can limit available rooms.");
    }
방구석
    public void Join()
    {
        PhotonNetwork.JoinRoom(roomData.name);
    }

    // We have two options here: we either joined(by title, list or random) or created a room.
    public void OnJoinedRoom()
    {
        Application.LoadLevel("Room");
    }

    public void OnPhotonJoinRoomFailed(object[] cause)
    {
        Debug.Log("OnPhotonJoinRoomFailed got called. This can happen if the room is not existing or full or closed.");
    }
맥의 스탠드에 세워진 녀석이 종착역에서도 이런 느낌이에요.
open -n Test.app
만들어진 앱 이름만 적으면 여러 개를 가동할 수 있으니 혼자 시끌벅적하게 놀아보자!

그나저나 방에 들어가서 나갈 때

  // これで部屋を抜けて
  PhotonNetwork.LeaveRoom();  
  // 抜けられたらこの関数がよばれるからここでシーンを切り替えるなりする
  public void OnLeftRoom()
  {
  }
피곤하니까 그만하자.스마트폰으로 테스트할 여력도 없어 w
다음은 열쇠가 있는 방을 맞춤형으로 만들어야 하나요?

잡담


스마트폰으로 구축하고자 하는 여러분의 배려
Fast Platform Switch
"Point"를 사용하려면 판매가 중단됩니다.
이런 일이 있어서 포장을 지울 수 없습니다.
Asset Store-5.x에만 44GB,w;용량이 점점 압박당하다
어떻게 좀 해봐요.

좋은 웹페이지 즐겨찾기