J'ajoute des objets "layer" à la scène avec une valeur de profondeur. J'ai ensuite créé ma propre classe d'appareil photo. Quand je dis à la caméra de se déplacer vers la droite, ce que je suis en train de faire, c'est de dire à chaque objet de la couche de se déplacer vers la gauche.Essayer de créer un effet de parallaxe en flash AS3
La distance que la couche déplacé vers la gauche est basée sur la valeur de sa variable de profondeur ...
var fCameraDepth = 1;
var fTan:Number = Math.tan(fCameraMovement/fCameraDepth);
oLayer.x += fTan * fLayerDepth
Cela fonctionne bien et me donne un effet de parallaxe vraiment agréable. Le problème que je suis est que je veux être en mesure de dire à la caméra de regarder un clip sur n'importe quel calque, mais j'ai du mal à comprendre comment convertir les coordonnées des clips vidéo à la profondeur des caméras.
Im essayer quelque chose comme ça ...
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;
Mais la caméra vagabonde juste à côté de quelque part (pas près du clip)
Quelqu'un peut-il obtenir leur tête autour de cela?