【发布时间】:2013-12-01 11:52:24
【问题描述】:
我正在尝试使用 KineticJs,并且想要拥有对象,因此我可以轻松处理元素。
这是我的代码。它不起作用,我不知道为什么。 (我真的不知道oop,只是学习)
$(function(){
var stage = new Kinetic.Stage({
container: 'gridalea',
width: 172,
height: 720
});
var color_layer = new Kinetic.Layer();
var sh_layer = new Kinetic.Layer();
var Left={
light: {
frame: function(){
poly = new Kinetic.Polygon({
points: [70, 0, 0, 22, 0, 672, 70, 720, 70, 710, 6, 667, 6, 29, 70, 10, 70, 0],
stroke: 'white',
strokeWidth: 1
});
// add the shape to the layer
color_layer.add(poly);
stage.add(color_layer);
},
fill: function(color){
poly.setFill(color);
}
},
dark: {
frame: function(){
var poly = new Kinetic.Polygon({
points: [6, 193, 6, 667, 11, 663, 11, 440, 6, 437, 6, 427, 11, 425, 11, 193, 6, 193],
stroke: 'white',
strokeWidth: 1
});
// add the shape to the layer
color_layer.add(poly);
stage.add(color_layer);
},
fill: function(color){
poly.setFill(color);
}
},
}
Left.light.frame();
Left.light.fill('red');
});
我打算做的是能够在创建多边形后设置它们的填充颜色,我必须处理图像的很多部分,所以我使用对象来简化它。你能指出我的代码的问题吗? 我很抱歉,我知道我很瘸,我只是需要你的帮助。
编辑:当我添加
Left.dark.frame();
Left.dark.fill('red');
之后
Left.light.frame();
Left.light.fill('red');
Left.light.frame() 变成红色,但 Left.dark.frame() 没有
【问题讨论】:
-
你有一个额外的逗号和缺少分号(在
fill: function之后和Left.light.frame();之前的代码末尾),尽管我不认为这是问题所在。 -
谢谢,但这并没有解决我的问题
-
也许您应该先输入
fill(),然后再输入frame()? -
感谢帮助我解决实际问题
标签: javascript oop canvas html5-canvas kineticjs