首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Unity中的2个场景上使用1个Socket.IO连接

如何在Unity中的2个场景上使用1个Socket.IO连接
EN

Stack Overflow用户
提问于 2019-08-16 08:17:14
回答 2查看 318关注 0票数 0

我在Unity中创建了2个场景。

加载屏幕的第一个场景(它连接到SocketIO服务器viia Unity SOcket.IO)

第二个场景主屏幕。

我想在第二个场景中使用相同的连接。

EN

回答 2

Stack Overflow用户

发布于 2019-08-16 11:47:47

请参见DontDestroyOnLoad(),使用它可以在场景切换时保留SocketIO对象。

如果您遇到更多问题,您需要提供您的代码。

代码语言:javascript
运行
复制
public class AddMeToTheGameobjectWithSocketIOComponent : MonoBehaviour
{
    void Awake()
    {
        DontDestroyOnLoad(this.gameObject);
    }
}
票数 0
EN

Stack Overflow用户

发布于 2019-08-16 15:46:37

您可以使用@siusiulala提到的DontDestroyOnLoad方法,也可以使用Singleton Pattern。与单例模式相比,使用DontDestroyOnLoad从场景2中获取对对象的引用会稍微困难一些。

使用单例模式,您将在所有场景中拥有一个充当SocketIO包装器的对象。您可以通过执行以下操作轻松获得SocketIO参考:

代码语言:javascript
运行
复制
Socket socket = SocketIOSingleton.Instance;

请注意,一些开发人员会避免使用Singleton模式,因为社区中的一些人不喜欢它,并将其描述为反模式,但我个人认为它在游戏中工作得非常好(特别是在Unity中制作的游戏,在这种情况下,您实际上无法访问纯依赖注入)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57517595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档