【发布时间】:2014-07-17 03:51:31
【问题描述】:
我正在尝试用画布做一个应用程序,它有多个对象绑定了事件,比如鼠标按下和鼠标向上等,
我正在使用动力学 js。
我怀疑我是否必须使用动力学 js 在画布上绘制两个圆圈。我可以直接使用对象。但是如果我必须在分区中放置500个圆圈,手动创建500个圆圈对象太难了。那么,有没有其他替代方案来实现这一点?
我对我使用的每个圆形对象都使用这些事件
var circle = new Kinetic.Circle({
x: 100,
y: 100,
radius: 5,
fill: 'red',
stroke: 'black',
strokeWidth: 1
});
circle.setAttr('fact','Kinetic JS is Awesome')
circle.on('mouseover', function() {
document.body.style.cursor = 'pointer'
});
circle.on('mouseout', function() {
document.body.style.cursor = 'default'
});
circle.on('mousedown', function() {
var fill = this.getFill() == 'red' ? '#00d00f' : 'red';
this.setFill(fill);
alert(this.getAttr('fact'));// I do some stuff here
layer.draw();
});
【问题讨论】:
-
你使用了 for 循环吗?
-
没有。我被困在这里。如何在不手动添加的情况下拥有多个对象,可能是画布中的 500 个圆圈? @艾尔莎
-
我使用 for 循环并实现了这一点。谢谢@Elsa
-
不客气 :) 很高兴它成功了
标签: javascript html canvas html5-canvas kineticjs