我可以在kinetic drawFunc中有一个switch语句吗?我尝试了但失败了......我猜不是吗?

时间:2014-04-02 19:41:02

标签: kineticjs

var s = new Kinetic.Shape({drawFunc:function(c){
    c.beginPath();

c.fillStrokeShape(this); c.stroke()
}, stroke: 'black', fill: 'none', strokeWidth: 1, /*id: tid + '_'+which,*/ visible: show

});

1 个答案:

答案 0 :(得分:0)

您的代码有很多拼写错误:

您将loc定义为数字

var loc=10;

但是把它读作一个字符串

case "left":
case "right":

此外,您的案例陈述中都有未终止的引号。

看起来应该更像这样:

var xaxis = 50;
var loc="left";
var middle = new Kinetic.Shape({
    drawFunc: function (context) {
        context.beginPath();
        switch(loc){
            case "left":
                xaxis=10;
                break;
            case "right":
                xaxis=20;
                break;
        }
        context.moveTo(25 + xaxis, 125);
        context.arc(25+xaxis, 135, 10, 1.50*Math.PI, 3.50*Math.PI, false);
        context.fillStrokeShape(this);
        context.stroke()
    },
    stroke: 'black',
    fill: '',
    strokeWidth: 1,
    id: '_middle'
});