我在寻求一些建议。我创造了一个太空入侵者游戏,它从一个精灵单张中获取宇宙飞船和外星人。我在5k的视网膜屏幕上工作,看起来都很好。
问题是,当我进入一个非视网膜屏幕时,飞船/外星人的精灵位置看上去不对,外星人从中途开始。因此,一个外星人在屏幕上显示一半是外星人,另一半是外星人。
我把这个问题归结为视网膜问题,并研究如何解决这个问题。sprite映像是通过image()构造函数调用的,并在加载时使用。然后,我使用drawImage设置雪碧表上的位置,以选择每个外星的正确位置。所以没有使用CSS。
我需要两个精灵片,一个视网膜和一个非视网膜,或者是一些代码,JavaScript将检查什么样的屏幕是被使用的?
是否需要代码,还是这个解释足够好?
编辑
我看到我犯了一个错误,我的浏览器在非视网膜屏幕上被放大到110%,这引起了这个问题。所以问题似乎是随着浏览器的放大而出现的。
发布于 2017-07-15 16:31:18
有几种方法可以解决这个问题:
很高兴提供关于上述任何一种方法的更多细节。
发布于 2017-07-22 06:14:19
您可以试试spritify工具https://www.npmjs.com/package/spritify
有演示应用程序,演示如何使用它https://github.com/shadiabuhilal/spritify-example。
https://stackoverflow.com/questions/45119694
复制相似问题