Bre*_*84c 5 html javascript canvas physics-engine
我想将字体或静态图像放在画布上,但不确定使用 Matter.js 的最佳方法是什么。现在,对于图像,我只是创建一个大小为“0”的主体并将图像 url 放在 render.sprite.texture 属性中。似乎可以解决问题,但是否有不同/更好的方法将静态图像放在画布上?
此外,在创建/绘制其他任何内容之前,我正在使用脚本顶部附近的 'afterRender' 事件将文本放到画布上:
_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);
});
);
Run Code Online (Sandbox Code Playgroud)
唯一的问题是文本一直被绘制在顶部,所以我的可拖动对象一直在文本后面。我只希望文本留在背景中,就像静态图像一样,但我认为在画布上绘制字体可能比让用户下载另一个图像更好。有什么帮助吗?
Matter.js 中包含的渲染器实际上仅用于演示,因此最好的做法是制作示例Render.js的副本,然后在那里实现所有渲染(Render.world每个刻度调用的入口方法在哪里)。
将对象名称更改为其他名称CustomRenderer,然后在Engine.create选项中传递渲染类:
var engine = Engine.create({
render: {
element: element,
controller: CustomRenderer
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8329 次 |
| 最近记录: |