我想知道如何制作一个跟随玩家的视口,例如在sidescrolling游戏中。我有一个半工作版本,但它需要我移除除了玩家之外的所有东西。是否有可能使用vanilla javascript创建一个跟随玩家的视口?
ctx.translate(canvX,canvY);
drawBlocks();
ctx.restore()
这种方式现在可行,但我将不得不画出敌人和其他物体,而且我不想不断地重做这个过程。我正在寻找一个简单的解决方案,基本上涉及跟随玩家的相机。这可能吗?
您确实没有提供足够的代码来帮助您,但无论哪种方式,您都应该尝试一种面向对象的方法,或者使用框架或库(如pixi.js或phaser.io)进行研究。 –
我假设所有情况下的基本想法都是一样的,但如果有帮助,您可以看到我开始使用的代码。 https://www.codecademy.com/azhiguore/codebits/Jwh0VH – Azhi
没有办法只是'制造'一台相机。我确实想到了一个黑客。你可以制作一个非常大的画布,把它放在一个非常小的div中,然后随着玩家的移动将画布移动到div的内部,但这对性能有很大的影响。我的建议是尝试使用游戏引擎或其他库,例如我提到的两个库,以了解它们如何处理轻松移动画布周围的一组精灵。 –