使用Kinetic js添加具有多个点的线

时间:2014-10-08 12:19:42

标签: javascript kineticjs

我正在尝试在KineticJS阶段添加一行。线从点(0,180)开始并直接延伸选择多个相差5的x。这是我的以下代码

var redInitialPoints = []
x = 0;
i = 0;
while (x+i<=stage.width()){
    redInitialPoints.push(x+i);
    redInitialPoints.push(stage.y()+18*10);
    i += 5;
}

redLine1 = new Kinetic.Line({
    point:redInitialPoints,
    stroke:'red',
    strokeWidth:2,
    id:"redLine1"

linesGroup.add(redLine1);  //this is what causes the issue
//backGroundLayer.add(redLine1) works fine

我想要得到这么多积分的原因是因为我希望我的线根据一些输入像心电图一样上下移动并且有一些窥视和相反,但仍然看起来像一条线。

________________________

并成为

             __   
__/\____/\__/  \

等。

但是我收到以下错误:

Uncaught TypeError: Cannot read property 'length' of undefined 

可能出现什么问题?

1 个答案:

答案 0 :(得分:0)

如果stage的类型为Kinetic.Stage,则documentation表示您应使用stage.getWidth()stage.getY()代替stage.width()和{{} 1}}。也许这将解决问题。