Я добавляю к слою «слой» объекты с глубиной.Пытается создать эффект параллакса во вспышке AS3
У меня тогда был создан собственный класс камеры. Когда я говорю камере, чтобы двигаться вправо, что Im фактически делает, говорит, что каждый объект слоя перемещается влево.
Расстояние, на которое слой смещается влево на основе значения его переменной глубины ...
var fCameraDepth = 1;
var fTan:Number = Math.tan(fCameraMovement/fCameraDepth);
oLayer.x += fTan * fLayerDepth
Это хорошо работает и дает мне очень хороший эффект параллакса. Проблема, с которой я сталкиваюсь, заключается в том, что я хочу, чтобы камера могла смотреть на клип на любом слое, но мне трудно понять, как преобразовать координаты клипов на глубину камер.
Im пытаясь что-то вроде этого ...
var fCameraDepth = 1;
var fCameraPosition:Number = oCamera.x;
// the layer will have a + or - x val compared to the camera so we
// need to take that into account when getting the targets position
var fTargetPosition:Number = oActor.x + oActor.getLayer().x;
var fTargetDepth:Number = oActor.getLayer().getDepth();
var fTan:Number = Math.tan(fTargetPosition/fTargetDepth);
var fTargetPositionAdjusted:Number = fTan * fCameraDepth;
oCamera.x = fTargetPositionAdjusted;
Но камера просто блуждает где-то (не где вблизи видеоклипа)
Можно ли получить их голову вокруг этого?