2009-10-12 1 views
0

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

Например,

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

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

ответ

1

вы должны отделить из действительных х и у точек с точками пространства 3D (я использую _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

+0

Спасибо за головы. Я действительно видел этот учебник и искал ярлык. Может быть, простое уравнение, где я могу хотя бы контролировать, где находится объект z-scaled. Думаю, мне действительно нужно взглянуть на это с другой стороны моего мозга. –

+0

хорошо, если вы находитесь за «ложной перспективой», тогда вы можете сделать это только с помощью функции масштабирования на z, это зависит от вашего использования. Тем не менее, хотя ive нашел простейший «3D» симулятор. – longstaff