我目前正在努力使它成为一个三角形网格将扩展并移动到顶部'将鼠标悬停在图层上的图层,然后缩小回原始尺寸,并在鼠标移出原始图层时移回原始图层。但是现在只有鼠标悬停功能才能正常工作。
以下是我正在使用的当前代码:
var stage = new Kinetic.Stage({
container: 'container',
width: 300,
height: 300
});
var layer = new Kinetic.Layer();
var secondLayer = new Kinetic.Layer();
var tri = new Kinetic.RegularPolygon({
x: stage.width()/2,
y: stage.height()/2,
sides: 3,
radius: 30,
fill: '#111111',
closed: true,
shadowColor: '#5febff',
shadowBlur: 5,
shadowOpacity: 0.18,
});
layer.add(tri);
stage.add(layer);
stage.add(secondLayer);
// bind stage handlers
layer.on('mouseover', function(evt) {
var shape = evt.targetNode;
shape.moveTo(secondLayer);
stage.draw()
var tween = new Kinetic.Tween({
node: shape,
duration: 0.05,
scaleX: 1.5,
scaleY: 1.5
});
tween.play()
});
secondLayer.on('mouseout', function(evt) {
var shape = evt.targetNode;
var tween = new Kinetic.Tween({
node: shape,
duration: 0.05,
scaleX: 1.5,
scaleY: 1.5
});
tween.reverse()
shape.moveTo(layer);
stage.draw();
});
这是一个jsfiddle:http://jsfiddle.net/y2C3Z/1/
答案 0 :(得分:2)
您只能在tween.reverse()
之后使用tween.play()
。因此,您只需将比例属性更改为原始值。
不要在图层之间移动形状,同时在补间下形状。您可以在补间完成后移动形状。