关于问题
\n关于应用程序
\n我制作了一个 JS6 应用程序来使用画布测试一些 2D 图形。只是纯 HTML、CSS 和 JavaScript。该应用程序应该在碰撞检测(使用 AABB 算法)、路径查找、碰撞物理和一些人工智能之后绘制场景和不同的几何图元。我使用 requestAnimationFrame(render) 方法来模拟动画渲染。所有代码都是基于 ECMAScript 6 中描述的 OOP 原则构建的。核心且非常简化的代码示例:
\nclass Scene{\n#vMap = [];\n\nconstructor(board){\n this.canvas = document.getElementById(board);\n this.ctx = this.canvas.getContext(\'2d\');\n this.#createMap();\n this.#createModels();\n\n //etc.\n}\n\n#createMap(){//to do}\n\n#createModels(){//to do}\n\nrender(){\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n this.#vMap.forEach(obj =>{\n obj.draw();\n \n if(obj.checkCollision(this.ball)){\n this.ball.updateSpeedVector(obj);\n }\n });\n \n this.ball.draw();\n \n window.requestAnimationFrame(this.render.bind(this));\n}\n//\xe2\x80\xa6\n\nconst board …Run Code Online (Sandbox Code Playgroud) javascript google-chrome google-chrome-devtools html5-canvas microsoft-edge