我看到的第一件事是您无法控制将图像添加到舞台/图层的顺序。因此,每个图像可以在不同的时间完成加载并在不同的时间添加到舞台/图层。
您可以通过 2 种方式解决此问题:
通过执行以下操作来订购您的图像 onload:
var img1 = new Image();
img1.onload = function() { //Load first image
//Create 1st Kinetic Object
var img2 = new Image();
img2.onload = function() { //Load second image after first image has been loaded
//Create 2nd Kinetic Object
var img3 = new Image();
img3.onload = function() { //Load third image after 2nd image is loaded
//Create 3rd Kinetic Object
}
}
}
zIndex
在您正在补间的 3 个形状上使用,请参阅zIndex的文档。(请注意,函数拼写为zIndex,而对象属性拼写为zindex
第二个问题(你的问题)是同时调用 2 个补间,但只有 1 个被解雇。我相信顺序是这样的:
- Middle Mouseout 触发补间。
- Left 或 Right Mouseenter 在之后立即触发补间,由于 mouseout 补间,这永远不会发生
与其在每次 mouseenter 和 mouseout 时创建一个补间并在完成时销毁它们,不如在 mouseenter 上创建一次补间.play()
并调用.reverse()
mouseout。通过这样做,您可以节省所需的补间数量,并防止播放影响相同节点的补间之间的冲突。