繁体   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