Вы можете применить анимацию y
в одном и том же вызове Tween.to()
на каждом слое.
stage.on("stagemousemove", throttle( function(evt) {
// Determine the horizontal and vertical offset
var hOffset = (evt.stageX - env.compWidth/2) * 2;
var hOffsetY = (evt.stageY - env.compHeight/2) *2;
// Tween layers with distanceFactor
createjs.Tween.get(content.level0, {override:true}).to({
x: env.level0_initialX - (hOffset / 25),
y: env.level0_initialY - (hOffsetY / 25) // <------------------ here
}, 1072, createjs.Ease.cubicOut);
createjs.Tween.get(content.level2, {override:true}).to({
x: env.level2_initialX - (hOffset / 18),
y: env.level2_initialY - (hOffsetY / 18)
}, 1072, createjs.Ease.cubicOut);
},100));
Если вы просто дублируете две анимации, это не будет работать, потому что этот пример настроен на очисткумежду подростками каждый раз, когда он запускается (используя override:true
).Это не позволяет нескольким подросткам пытаться воздействовать на один и тот же объект одновременно.
Обратите внимание, что подростки не являются действительно лучшим решением для чего-то подобного, когда вы постоянно перезапускаете его, когда мышь движется.Лучшее решение - просто иметь на тике функцию, которая постоянно перемещает ваши слои к цели, которая обновляется при перемещении мыши.Часто эффекты параллакса реагируют непосредственно на мышь, вместо того, чтобы дрейфовать на место.
Приветствия,