我有一个网格,我希望基本上为网格中的每个矩形添加一个工具提示图像。基本上,首先我需要能够在矩形鼠标悬停事件上向画布添加图像。最终每个矩形都有自己的图像,所以我需要跟踪矩形...我是否将它们添加到数组中?
到目前为止,这是我的小提琴: http://jsfiddle.net/marseilles84/7ZzTh/1/
以下是要使用的示例图像源: 'http://www.html5canvastutorials.com/demos/assets/yoda.jpg';
<div id="container"></div>
var stage = new Kinetic.Stage({
container: 'container',
width: 1000,
height: 500
});
var layer = new Kinetic.Layer();
for (var i=0; i<7; i++)
{
for(c=0; c<18; c++)
{
var colorPentagon = new Kinetic.Rect({
x: (45*c),
y: 45*i,
width:40,
height:40,
fill: 'red',
stroke: 'black',
strokeWidth: 4,
draggable: true
});
colorPentagon.on('mouseover touchstart', function() {
//code here
});
layer.add(colorPentagon);
}
}
stage.add(layer);
答案 0 :(得分:0)
这可能更多是您正在寻找的东西。
colorPentagon.on('mouseover touchstart', function() {
var userPos = stage.getUserPosition();
yoda.setPosition(userPos.x,userPos.y);
layer.add(yoda);
layer.draw();
});
colorPentagon.on('mouseout touchstart', function() {
yoda.remove();
layer.draw();
});
一开始你想要:
var imageObj = new Image();
var yoda = new Kinetic.Image({
x: 0,
y: 0,
image: imageObj,
width: 106,
height: 118
});
imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/yoda.jpg';