是否可以直接在画布上下文中绘制KineticJS形状?

时间:2013-02-05 22:10:57

标签: canvas html5-canvas kineticjs

我正在使用Jaws框架​​编写一个小游戏。我想使用KineticJS在我的画布上下文中绘制一些形状。是否可以直接在上下文中绘制形状而无需先创建舞台和图层? 像

这样的东西
var circle = new Kinetic.Circle({...params...);
circle.draw(myContext);

1 个答案:

答案 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);
} 
相关问题