Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Set transformation point программно (http://www.flasher.ru/forum/showthread.php?t=148340)

bumb0x 28.12.2010 13:02

Set transformation point программно
 
Здравствуйте, такой вопрос: можно ли программно задавать координаты точки преобразования?

iflamberg 28.12.2010 13:15

Нет. Много раз обсуждалось. Попробуйте погуглить или поиск по форуму.

Hidest 28.12.2010 13:53

Еще один кандидат на прикрепленную тему... Хотя, таких частых тем полно, будет первая страница вся в прикрепленных...

Программно нельзя, используйте контейнер, в котором смещайте свой клип как вам надо, а в дальнейшем странсформируйте уже контейнер как надо.

drnet_ua 28.12.2010 14:04

можно, но проще поместить его в спрайт и сместить как надо.

Добавлено через 4 минуты
вот решение попроще

Hidest 28.12.2010 14:27

Это просто имитация, сама точка регистрации клипа никуда не смещается. То же самое можно сделать через матрицы трансформации.

Все подобные решения являются заменой, а не реальным изменением точки (можно просто все чайлды клипа еще подвинуть как надо), хотя эти действия и приводят к нужному результату.


UPD: блин, речь же о точке трансформации, а не о точке регистрации. Тогда да, в таком контексте можно.

alatar 28.12.2010 14:51

Цитата:

Все подобные решения являются заменой, а не реальным изменением точки
Нет никакой точки, соответсвенно не может быть "реального" или "нереального" ее изменения.

Hidest 28.12.2010 15:37

Я уже написал, что сначала писал о точке регистации, а потом понял, что нужна была точка трансформации.. В Flash IDE при трансформации вручную можно эту точку перемещаться как хочется. Автору нужно было именно это, насколько я понял. Но вот никакого метода setTransfomationPoint() у нас, естественно нет, поэтому я и сказал про имитацию именно функционала IDE. Естественно, что точка, относительно которой происходит трансформмирование - понятие абстрактное.

drnet_ua 28.12.2010 18:41

точка есть. это точка (0,0). сдвинуть ее нельзя, можно сдвинуть все остальное относительно ее.

при особом желании можно все содержимое обьекта сдвинуть поштучно, а потом сдвинуть то что получилось, но это геморой.

вращение например, через матрицу делают, но у меня с первого раза не получилось :) пришел к тому что порекомендовал Hidest

alatar 28.12.2010 18:49

Цитата:

точка есть. это точка (0,0). сдвинуть ее нельзя, можно сдвинуть все остальное относительно ее.
Это не точка, а начало координатных осей. Ну или их пересечение.
Цитата:

вращение например, через матрицу делают, но у меня с первого раза не получилось пришел к тому что порекомендовал Hidest
С матрицами все просто (по сути особой разницы с контейнером нет, за исключением контейнера). Сначала матрицу трансформации объекта надо обнулить (по-сути все трансформации объекта происходят через матрицы). Потом сдвигаем матрицу в нужные локальные координаты объекта. Трансформируем матрицу. Сдвигаем обратно в 0, 0 (либо учитываем сдвиг на следующем шаге). И сдвигаем обратно в координаты в которых объект был до трансформации.

passertm 28.12.2010 18:53

на счет частозадаваемых вопросов не былобы лучше сделать одну прикрепленную тему и там списком давать ссылки на частозадаваемые вопросы. это решилобы часть вопросов.


Часовой пояс GMT +4, время: 14:52.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.