Существует ли уравнение смещения для изменения положения Z в Actionscript? - PullRequest
0 голосов
/ 12 октября 2009

Скажем, у меня есть видеоклип, который при загрузке я устанавливаю в положение .z на 2000, чтобы он выглядел далеко на заднем плане ... Как в мире я могу установить точки x и y с какой-либо уверенностью относительно того, где оно появится на сцене? Есть ли уравнение?

например,.

original.x = 200;
original.y = 200;
original.z = 0;

new.z = 2000;
new.x = original.x*10;
new.y = original.y*10;

1 Ответ

1 голос
/ 12 октября 2009

Вы должны отделить фактические точки x и y с трехмерными точками пространства (я использую _x, _y и _z). используя основную идею, что все, что находится дальше от вас, вам нужно будет определить источник для точки схода и «фокусное расстояние» (например, объектив камеры), которое будет определять, как быстро все исчезнет на заднем плане. попробуйте поиграть со значениями, но что-то около 200 обычно работает довольно хорошо. это должно дать вам нечто простое, например, где my_mc - это объект, на который вы хотите повлиять:

my_mc._x = 0; 
my_mc._y = 0; 
my_mc._z = 200;
var scaleRatio = focalLength/(focalLength + my_mc._z);
my_mc.x = origin.x + my_mc._x * scaleRatio;
my_mc.y = origin.y + my_mc._y * scaleRatio;
my_mc.scaleX = my_mc.scaleY = scaleRatio;

Есть несколько действительно хороших уроков на kirupa на эту тему, попробуйте этот (хотя в as2 теория та же самая) http://www.kirupa.com/developer/actionscript/3dexplore.htm

...