我正在使用Jaws框架编写一个小游戏。我想使用KineticJS在我的画布上下文中绘制一些形状。是否可以直接在上下文中绘制形状而无需先创建舞台和图层? 像
这样的东西var circle = new Kinetic.Circle({...params...);
circle.draw(myContext);
答案 0 :(得分:0)
我相信每个KineticJS对象都有drawFunc作为其属性。如果你能把它拿出来并直接应用于画布,我猜你不会需要舞台或图层。
尝试......
嗯..没有。 drawFunc使用依赖于对象的属性。即this.getRadius()。但是,您仍然可以通过打印drawFunc
来查看它是如何绘制的<script src="http://www.html5canvastutorials.com/libraries/kinetic-v4.3.0-beta2.js"></script>
<script>
var circle = new Kinetic.Circle({
x: 250,y: 250, radius: 70,
fill: 'red',
stroke: 'black',
strokeWidth: 4
});
console.log(circle.drawFunc);
</script>
这是console.log命令的输出。
function (canvas) {
var context = canvas.getContext();
context.beginPath();
context.arc(0, 0, this.getRadius(), 0, Math.PI * 2, true);
context.closePath();
canvas.fillStroke(this);
}