Где измеряются свойства .x и .y в Sprite в actionscript 3.0? от центра объекта? или же.....? - PullRequest
1 голос
/ 29 июня 2010

Где измеряются свойства .x и .y мувиклипа в ActionScript 3.0? от центра объекта? или .....?

Например, с учетом программно нарисованного Sprite:

            graphics.beginFill(0x000000);
        graphics.moveTo(9.00000000,-7.00000000);
        graphics.lineTo(13.00000000,0.00000000);
        graphics.lineTo(9.00000000,6.00000000);
        graphics.lineTo(-11.00000000,6.00000000);
        graphics.lineTo(-14.00000000,0.00000000);
        graphics.lineTo(-11.00000000,-7.00000000);
        graphics.lineTo(9.00000000,-7.00000000);
        graphics.endFill();

Откуда будут измеряться sprite.x и sprite.y?

Верхний левый угол? Или центр спрайта? или ...?

Пожалуйста, просветите меня, спасибо, ребята!

С наилучшими пожеланиями.

Ответы [ 2 ]

1 голос
/ 29 июня 2010

Источником всегда является верхний левый угол объекта. x растет положительно вправо и отрицательно влево; y растет положительно к основанию и отрицательно к вершине.

0,0 ---- 5,0
|         |
|         |
|         |
0,5 ---- 5,5 

Таким образом, источником сцены / корневого объекта является верхний левый угол SWF, поскольку его координаты 0,0. Если вы добавите экранный объект к корневому объекту и установите для его x и y значение 5, (mc.x = 5; mc.y = 5;) и нарисуете линию в его локальных координатах от 0,0 до 15,15, эта линия будет нарисована от 5,5 до 20,20 по глобальным координатам.

Извлечение localToGlobal и globalToLocal методов класса DisplayObject .

0 голосов
/ 30 июня 2010

Я думаю, что ваша путаница проистекает из многоуровневой природы систем координат во Flash.Когда вы рисуете свой Sprite, значения x и y, которые вы передаете графическим методам (например, lineTo), измеряются относительно системы координат спрайтов.Перемещение .x и .y спрайта переместит все в графике спрайта.Таким образом, если спрайт изначально был в точке (0,0) и выполнял приведенный выше код, большая часть рисунка находится за пределами экрана (поскольку он рисует отрицательные значения x и y. Если после запуска вышеуказанного кода вы переместилиСпрайт в (14,7), все линии будут видны (едва).

...