繁体   English   中英

对象如何存储在Kineticjs的Kinetic.Layer中?

[英]How are objects stored within a Kinetic.Layer within Kineticjs?

我目前正在使用for循环在单独的数组中使用一组预定的坐标来创建三角形网格。

像这样:

        function createTri(x, y, z, a) {
            var tri = new Kinetic.RegularPolygon({
                id: a,
                x: x,
                y: y,
                sides: 3,
                radius: 15,
                rotation: z,
                fillRed: 17,
                fillGreen: 17,
                fillBlue: 17,
                closed: true,
                shadowColor: '#5febff',
                shadowBlur: 5,
                shadowOpacity: 0.18
            });

            layer.add(tri);

        }

        for (var i = 0; i < pax.length; i++){
            for (var j = 0; j < pax[i].length; j++){
                createTri(pax[i][j][0],pax[i][j][1],pax[i][j][2],(i+'')+(j+''));
            };
        }

但是,当我尝试从图层容器返回特定ID的console.log()时,除了代码而不是ID号,我什么都没得到。

我不能完全确定我是否称其为Kinetic是错误的,或者一般来说是错误的。

因此,我想我需要知道通过id属性调用对象的正常方式是什么,或者如何从Kinetic.Layer中正确调用它。

编辑:阐明,如何在Kinetic文档node.find('selector);我如何调用它定义为node.find('selector); ,因此尝试按ID查找时,我尝试登录到控制台: console.log(layer.find('#1674')); 但是,当我这样做时,控制台会记录一个具有所有可能关联功能的原型对象,而不是试图调用的对象Im。

我怀疑问题的根源在于三角形对象的ID并非您期望的那样。

您应该在Chrome中看到以下内容:

[Kinetic.RegularPolygon, each: function, toArray: function, _init: function, _clearCache: function, _getCache: function…]

你看到了吗?

[each: function, toArray: function, _init: function, _clearCache: function, _getCache: function…]

这就是我为图层的find方法提供无效ID时得到的。

这里有个小提琴来说明: http : //jsfiddle.net/klenwell/Tn5bm/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM