"使用Unity Mirror开发局域网联机卡牌游戏,报错Bt_Card(Clone) has already spawned. Don't call Instantiate for NetworkIdentities that were in the scene since the beginning (aka scene objects). Otherwise the client won't know which object to use for a SpawnSceneObject message.该如何解决"\n这个错误是因为你在尝试用Instantiate方法实例化一个已经在场景中的NetworkIdentity对象。在使用Mirror进行局域网联机开发时,NetworkIdentity组件会在游戏启动时自动被添加到场景中的对象上。\n\n为了解决这个问题,你可以使用NetworkServer.Spawn()方法来代替Instantiate来实例化对象。NetworkServer.Spawn()方法会负责处理网络同步和生成NetworkInstanceId。\n\n下面是一个示例代码,展示了如何使用NetworkServer.Spawn()来实例化卡牌对象:\n\ncsharp\npublic class CardSpawner : NetworkBehaviour\n{\n public GameObject cardPrefab;\n\n public void SpawnCard()\n {\n GameObject card = Instantiate(cardPrefab);\n NetworkServer.Spawn(card);\n }\n}\n\n\n在上面的示例中,SpawnCard()方法会实例化cardPrefab并调用NetworkServer.Spawn()来生成NetworkInstanceId并同步到客户端。这样就避免了上述错误的发生。\n\n请注意,只有在服务器端调用NetworkServer.Spawn()方法才会起作用,因此确保在服务器上调用SpawnCard()方法。

Unity Mirror局域网联机卡牌游戏报错:Bt_Card(Clone) has already spawned. 解决方法

原文地址: https://www.cveoy.top/t/topic/p3aQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录