簡體   English   中英

Unity 3d光子網絡

[英]Unity 3d Photon Networking

我創建的游戲是FPS游戲,它與Photon Networking協同工作,當玩家射擊網絡上的另一名玩家並殺死他時會產生硬幣,從而殺死玩家,以便玩家收集硬幣並為得分添加一個點,

但!!!!

當玩家收集硬幣時,我遇到的問題是它為網絡上的所有人增加了1分

所以

我需要幫助的是拿硬幣給收集它的玩家,而不是整個網絡,給一分

我的密碼:這是要摧毀硬幣

    public float hitPoints = 100f;
    float currentHitPoints;
    public GameObject coin;

    [RPC]
    public void CoinDie(float amt) {
        currentHitPoints -= amt;

        if(currentHitPoints <= 0) {

            CoinDied();
        }
    }

    void CoinDied() {
        bl_SaveInfo.coinCount++;
        gu.coinCount++;
        CoinDestroy CD = GameObject.FindObjectOfType<CoinDestroy>();
        CD.KillCoin ();
       }


    }

這是顯示點的GUI

using UnityEngine;
using System.Collections;

public class gu : MonoBehaviour {
    public static int coinCount = 0;
    float respawnTimer = 5;



    void OnGUI()
    {
        string coinText = "Total Coins: " + coinCount;

        GUI.Box (new Rect(Screen.width - 150, 40, 130, 30), coinText);

    }

    void Update(){
            respawnTimer -= Time.deltaTime;
    }
    public void Clear(){
        if (respawnTimer <= 0) {
            coinCount = 0;
            respawnTimer = 5;
        }
    }


    public void CoinCounter (){
            bl_SaveInfo.coinCount++;
            gu.coinCount++; 
        }



    void ClearScore(){
        coinCount = 0;
    }
}

您應該弄清楚硬幣計數的方式和位置。 如果將其存儲在表示玩家的網絡同步游戲對象上,則此RPC對象在網絡上的所有實例的每次RPC調用計數都會增加,而其他玩家實例則保持不變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM