0

我有一个 Kinetic.Layer,我不明白它为什么不显示。而且我想知道是否有(简单的)调试方法或查看它为什么不显示。

如果我使用 Kinetic.Group 它会显示出来,所以我很困惑它们之间有什么区别以及如何解决它。

奇怪的是,只需使用完全相同的代码从 Group 更改为 Layer,它就会消失。

这是代码:

 createTickerGroup: function (index) {
    var symbolGroup = new Kinetic.Layer({
        opacity: 0.8,
        clearBeforeDraw: true
    });
    var fontSize = Math.floor(this.layer.getHeight() * 0.8);
    var textConfig = {
        text: "text " + index,
        align: "left",
        fontSize: fontSize,
        fontFamily: "TSTARMedium",
        textFill: "#000000",
        clearBeforeDraw: true
    };

    var symbolText = new Kinetic.Text(textConfig);
    symbolText.setName("@nm");
    var pcText = new Kinetic.Text(textConfig);
    pcText.setName("@pc");
    var chText = new Kinetic.Text(textConfig);
    chText.setName("@ch");
    var chpText = new Kinetic.Text(textConfig);
    chpText.setName("@chp");
    var crText = new Kinetic.Text(textConfig);
    crText.setName("@cr");

    symbolGroup.add(symbolText);
    symbolGroup.add(pcText);
    symbolGroup.add(chText);
    symbolGroup.add(chpText);
    symbolGroup.add(crText);

    return symbolGroup;
}
4

1 回答 1

0

确保你这样做

 layer.add(group); 

如果你已经是,

 layer.draw(); 

重绘图层。也删除

    opacity: 0.8,
    clearBeforeDraw: true

作为图层的属性。

于 2013-01-11T17:16:58.900 回答