我不是一个编码问题,如果这是在错误的论坛,请道歉,但https://lightsaber.withgoogle.com/等网站如何运作?该网站如何通过手机了解用户在页面上的位置?我最近看过其中的一些,我也不知道它们是如何建造的......
这不是一个编码问题,你指出它是正确的.
但这就是我们可以称之为实时网络的东西,其中包括NodeJS,Socket.io等技术.我玩这个很有趣,但我不知道任何提供相同功能的其他技术(有一些,它是只是我不知道).
它是如何工作的 ?
让我们考虑一个包含2个视图的网页:桌面和移动(无论"移动版"呈现的方式如何)
您将移动设备连接到它(在相同的URL上,或几乎相同,使用一些参数将移动设备识别为当前用户的移动设备).在光剑游戏中,请注意它会生成一个自定义URL,以识别桌面上的用户和移动设备上的用户作为同一用户.
当您使用具有该URL的移动设备访问该页面时,Web API允许您使用某些功能,例如设备方向(例如,该页面可以查看您的移动设备的位置,例如)
然后,移动设备会将这些事件(移动方向)发送到桌面视图,以更新其渲染方式(更多左侧的光剑,或其他).
更进一步:
每次设备位置时,移动视图会发出包含当前移动设备x,y,z的事件(此坐标相对于事件开始.例如,在页面加载时,x = 0,y = 0,z = 0,无论设备位置如何)服务器捕获的更改.
服务器正在侦听这些事件,每次获取事件时,都会发出另一个事件(有一些转换,为什么不呢?),这次是桌面视图捕获的,它使用新值来应用更改.
所以基本上,Google light saber exeprience可以这样看:
移动(发送位置x,y,z) - >服务器(获取移动位置并广播) - >桌面(从服务器获取移动位置并在视图上应用更改)
我谈到了Node和Socket.io,因为它使这种体验变得非常简单.我的意思是:真的.