matter.js - 修复了 Matter.js 世界中的背景
问题描述
我正在寻找一种方法来设置固定到世界的背景。在我的例子中,Render.lookAt
目标是一个移动的身体,我需要在它后面显示一个 fiexd 网格来增强身体的运动。那可能吗?
解决方案
最好的方法是在世界中创建一个带有背景精灵的主体。
你可以这样做:
var gridBackground = Bodies.rectangle(0, 0, 1, 1, {
isStatic: true,
isSensor: true,
render: {
sprite: {
texture: "Path/To/Image.png",
xScale: neededScale,
yScale: neededScale
}
}
});
World.add(world, gridBackground);
如果您的世界是无限的,您还可以在 css 中将网格用作background-image
body/canvas 上的 a 并将其沿玩家移动的相反方向移动:
Matter.Events.on(engine, "beforeupdate", function() {
var x = player.position.x * -1;
var y = player.position.y * -1;
Matter.Render.lookAt(render, {
min: {y:y-FoV/2, x:x-FoV/2},
max: {y:y+FoV/2, x:x+FoV/2},
});
});
推荐阅读
- amazon-web-services - 将 lambda 从支持的运行时更改为 docker 映像
- excel - 类 stdClass 的 Laravel Excel 对象无法转换为字符串
- sql - 将多列中的运行聚合到具有不同列的视图中
- npm - 为 sass 配置 stylelint
- windows - 自动将文档从链接保存到 Windows 中的特定文件夹
- c# - .NET 5 的 Excel 互操作生成错误
- python - 在 Python 中的 Selenium 中使用 CSS 选择器查找具有多个类的元素
- google-bigquery - 如何在 current_date 之后使用 end_date 生成_date_array unnest,但结果显示我直到 current_date
- c# - 在 1 个 PDF 文件中打印文本和图像
- python - Python 在 __repr__() 中在漂亮打印和普通打印之间切换