Javascript Wesbite/浏览器游戏:预加载资源

Javascript Wesbite/浏览器游戏:预加载资源,javascript,html,performance,preloader,Javascript,Html,Performance,Preloader,所以我做了一些研究,但没有找到我想要的。 我发现了如何预加载图像,我想可能也适用于视频 因此,问题是我们是否应该预加载Resources视频/图像,而不是css或脚本? 我制作了一个gacha系统,就像手机上的gacha游戏,在每次“拉”之前,你都可以“拉”角色并加载视频。 在当地,一切都很快很酷,但现在我主持并尝试了它。。。时间太长了,因为什么都没有计算出来 有太多的图像,只是预装在游戏开始的所有 我想知道如何解决它,我认为我应该这样做 检查某人将获得的每个字符,提示一些加载屏幕 预加载与步骤

所以我做了一些研究,但没有找到我想要的。 我发现了如何预加载图像,我想可能也适用于视频

因此,问题是我们是否应该预加载Resources视频/图像,而不是css或脚本? 我制作了一个gacha系统,就像手机上的gacha游戏,在每次“拉”之前,你都可以“拉”角色并加载视频。 在当地,一切都很快很酷,但现在我主持并尝试了它。。。时间太长了,因为什么都没有计算出来

有太多的图像,只是预装在游戏开始的所有 我想知道如何解决它,我认为我应该这样做

检查某人将获得的每个字符,提示一些加载屏幕 预加载与步骤1中的字符列表关联的资源 解除加载屏幕并进行实际拉动
这个看起来可以吗?还有其他方法吗?我搜索了一下,但没有发现其他人是如何处理这个问题的我在搜索东西方面有点差劲://

好吧,你已经提到过了。您需要预加载所有需要向用户快速显示的内容。在游戏前放置一个加载屏幕,列出所有关键资源并加载它们。您可以通过创建图像和视频各自的对象并收听加载事件来加载它们。当你所有的关键资源都被加载后,开始你的游戏

确保您的服务器正确配置了长缓存头,这样您的玩家就不必再次下载资源,您就可以重新访问您的游戏了

当游戏已经开始时,你甚至可以继续在后台加载不那么重要的资源。如果用户遇到尚未加载的图形/视频,请显示占位符,并可能将丢失的资源重新排列到加载列表的顶部

您可以在这里为负载优化做很多事情。我要给出的第一个建议是:使用kraken.io作为图像的例子,使您的资产尽可能小,但不确定视频中是否有类似的内容


还可以尝试在服务器上启用http/2,这将在使用许多资源时提高加载速度。如果由于某些原因无法使用http/2,请尝试合并您的资产,例如查找SpriteMap。视频也可以组合成一个视频,您只需在游戏的各个区域中播放您想要播放的部分。

感谢您快速而准确的回答!这对我现在肯定有帮助,在将来也会很有用,记下:DMaybe可以尝试一个随时可用的游戏框架,比如Phaser或Playerly.js——它们与内置的资产加载程序一起提供!人们是否至少可以发表评论,而不仅仅是愤怒地投下否决票;