微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Unity 中的 Photon 和骰子在棋盘游戏中创建回合制管理器?

如何解决如何使用 Unity 中的 Photon 和骰子在棋盘游戏中创建回合制管理器?

我遇到的问题是,当我将玩家 2 的骰子 SetActive 设置为 False 时,玩家 1 的骰子也会消失,因为 PhotonTargets 设置为 All 以便玩家令牌一起移动。下面是我如何尝试的代码。我什至需要在这里编写这个逻辑还是应该在其他地方?提前致谢

public static void MoveSteps(string playerName,int numberOfSteps)
    {
        ScriptsPhotonView.RPC("MoveStepsRPC",PhotonTargets.All,playerName,numberOfSteps); 
    }

    [PunRPC]
    void MoveStepsRPC(string playerName,int numberOfSteps)
    {
        print("playerName:" + playerName);
        print("numberOfSteps:" + numberOfSteps);
        

        if (playerName == "Player1")
        {
            GameObject.Find(playerName).GetComponent<PlayerController>().Move(numberOfSteps);
            dice.SetActive(true);
        }
        
        else if (playerName == "Player2")
        {
           dice.SetActive(false);
        }
    }

解决方法

我认为您甚至不必为其他玩家禁用骰子,只需让他们使用它的脚本即可。也许设置一个像 "canMove" 和 if (!can move){diceScript.enabled = false;} 这样的布尔值或者,你可以将骰子放在一个单独的层上,轮到它的玩家的相机忽略该层或其他东西。希望这有帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?