0

KineticJS 中 Line 对象的 getPoints() 方法不返回点数组。我创建了一个说明问题的小提琴。

在小提琴中,我放置了一个运行该test()功能的按钮。

我的代码如下:

var stage = new Kinetic.Stage({
container: 'main',
width: 1200,
height: 400,
});

var linesLayer = new Kinetic.Layer();
var textLayer = new Kinetic.Layer();

var testLine = new Kinetic.Line({
     points: [100, 100, 100, 200],

    stroke: 'red',
    strokeWidth: 3});

linesLayer.add(testLine);

function test(){

var context = textLayer.getContext();
context.font = '18pt Calibri';
context.fillStyle = 'black';

context.fillText(testLine.getPoints().join(),100,350);

}
stage.add(linesLayer);

stage.add(textLayer);

test()函数运行时屏幕上显示的结果是[object Object],[object Object],我不知道为什么或如何处理是。帮助?

多谢你们!

4

1 回答 1

1

事实上确实如此。它返回一个由两个对象组成的数组(正如您在输出中已经看到的那样),这些对象中的每个都包含两个值:x 和 y。

如果您记录 testLine.getPoints(),这里是控制台的屏幕截图:

在此处输入图像描述

于 2013-05-30T06:31:13.387 回答