gpt4 book ai didi

javascript - Matter.js:在 Canvas 上放置文本或图像

转载 作者:搜寻专家 更新时间:2023-10-31 22:12:58 25 4
gpt4 key购买 nike

我想将字体或静态图像放在 Canvas 上,但不确定使用 Matter.js 的最佳方法是什么。现在,对于图像,我只是创建一个大小为“0”的主体,并将图像 url 放在 render.sprite.texture 属性中。似乎可以解决问题,但是否有不同/更好的方法将静态图像放在 Canvas 上?

此外,在创建/绘制任何其他内容之前,我使用脚本顶部附近的“afterRender”事件将文本放到 Canvas 上:

_sceneEvents.push(
Events.on(_engine, 'afterRender', function(event) {
var context = _engine.render.context;
context.font = "45px 'Cabin Sketch'";
context.fillText("THROW OBJECT HERE", 150, 80);
});
);

唯一的问题是文本一直在顶部绘制,所以我的可拖动对象一直在文本后面。我只希望文本保留在背景中,就像静态图像一样,但我认为将字体绘制到 Canvas 上可能比让用户下载另一幅图像更好。有帮助吗?

最佳答案

Matter.js 中包含的渲染器实际上仅用于演示,所以最好的办法是复制示例 Render.js然后在那里实现所有渲染(其中 Render.world 是在每个 tick 上调用的入口方法)。

将对象名称更改为其他名称,例如 CustomRenderer,然后在 Engine.create 选项中传递您的渲染类:

var engine = Engine.create({
render: {
element: element,
controller: CustomRenderer
}
});

关于javascript - Matter.js:在 Canvas 上放置文本或图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26043360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com