【发布时间】:2014-05-06 09:14:45
【问题描述】:
【问题讨论】:
标签: javascript html5-canvas matter.js
【问题讨论】:
标签: javascript html5-canvas matter.js
属性为body.render.fillStyle、body.render.strokeStyle 和body.render.lineWidth。
您可以将这些传递给Body.create(options),或者如果您使用的是工厂,则更有可能,例如
Bodies.rectangle(0, 0, 100, 100, {
render: {
fillStyle: 'red',
strokeStyle: 'blue',
lineWidth: 3
}
});
你也可以使用精灵,见the code
如果需要更多的渲染控制,最好克隆Render.js,自定义后通过Engine.create(element, options)作为engine.render.controller传入引擎。
【讨论】:
#ff0000)?将fillStyle 设置为#ff0000 或rgb(255,0,0) 根本不起作用。
render.options.wireframes = false。
正如@Martti Laine 在评论中提到的,下面的代码只会起作用:
Bodies.rectangle(0, 0, 100, 100, {
render: {
fillStyle: 'red',
strokeStyle: 'blue',
lineWidth: 3
}
});
如果render.options.wireframes 设置为false。
var render = Render.create({
element: document.body,
engine: engine,
options: {
width: window.innerWidth,
height: window.innerHeight,
wireframes: false // <-- important
}
});
【讨论】:
wireframes:false
由于没有人回答关于问题的部分
我正在尝试更改画布的背景颜色 [...]
这部分是这样完成的:
const Engine = Matter.Engine,
Render = Matter.Render,
World = Matter.World,
Bodies = Matter.Bodies;
// create an engine
const engine = Engine.create();
const render = Render.create({
element: document.body,
engine,
options: {
width: some_width,
height: some_height,
wireframes: false,
background: 'rgb(255,0,0)' // or '#ff0000' or other valid color string
}
})
【讨论】: