Я добавляю объекты «слоя» на сцену со значением глубины.
Затем я создал свой собственный класс камеры. Когда я говорю камере перемещаться вправо, то, что я на самом деле делаю, говорит каждому объекту слоя двигаться влево.
Расстояние, на которое слой переместился влево, зависит от значения его переменной глубины ...
var fCameraDepth = 1;
var fTan:Number = Math.tan( fCameraMovement / fCameraDepth );
oLayer.x += fTan * fLayerDepth
Это хорошо работает и дает мне действительно хороший эффект параллакса. У меня проблема в том, что я хочу, чтобы камера могла смотреть видеоклип на любом слое, но мне сложно понять, как преобразовать координаты видеоклипов в глубину камеры.
Я пытаюсь что-то вроде этого ...
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;
Но камера просто гаснет где-то (нигде рядом с видеоклипом)
Может кто-нибудь обдумать это?