gpt4 book ai didi

javascript - Kineticjs 'mouseover' 补间正在工作,但 'mouseout' 补间不工作

转载 作者:行者123 更新时间:2023-12-02 17:20:14 26 4
gpt4 key购买 nike

我目前正在尝试制作它,以便当您将鼠标悬停在三 Angular 形网格上时,三 Angular 形网格将展开并移动到“顶部”层,但是当您将鼠标移出时,会缩小回原始大小并移回原始层其中。但是现在只有鼠​​标悬停功能可以正常工作。

这是我正在使用的当前代码:

  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/

最佳答案

  1. 您只能在 tween.play() 之后使用 tween.reverse()。因此,您只需将比例属性更改为原始值即可。

  2. 在补间下绘制形状时,不要在图层之间移动形状。补间完成后您可以移动形状。

http://jsfiddle.net/y2C3Z/3/

关于javascript - Kineticjs 'mouseover' 补间正在工作,但 'mouseout' 补间不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24028457/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com