![]() |
|
||||||||||
|
|||||
|
[+1 20.08.08]
Регистрация: Aug 2008
Сообщений: 52
|
Здравствуйте, вот в чём проблемма. в мувике динамически создаю линию. При этом, её необходимо вращать относительно известной точки. Как установить точку трансформации для линии? пробовал transformPoint но не работает. помогите пожалуйста.
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
помоему проще нарисовать эту линию сделать нужную точку, за атачить и крутить.
![]() |
|
|||||
|
[+1 20.08.08]
Регистрация: Aug 2008
Сообщений: 52
|
ZIK68
дело в том, что эта линия должна имитировать луч лазера, и длина этого луча долна постоянно изменяться в соответствии с растоянием до блокирующего мувиклипа (в моём случае - космический корабль.) то есть, нужно постоянно проверять расстояние до объекта. Сделать это с помощью готового мувика помоиму труднее, т.к. он будет непрапорционально растягиваться/сжиматься. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Проще - рисовать линию ("динамически" же, да?) там где надо. Т.е. чтобы точка трансформации (0,0) была в центре линии.
UPD: В смысле "непропорционально"? Разве это не от Вас зависит? Ставите линии нескалироваться в толщину и всё.
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 24.08.2008 в 20:13. |
|
|||||
|
[+1 20.08.08]
Регистрация: Aug 2008
Сообщений: 52
|
Wolsh
не проще. во-первых = в этом случа она будет вращаться только относительно центра, а мне же необходимо чтобы линия вращалась относительно одного из своих концов. Во-вторых - лини (а следовательно и точка трансформации) должны будут свободно перемещаться по ролику. при этом сохраняя свои пропорции. Поэтому, постоянно создавать линию, на уже заведомо знаемых координатах не получиться, - линия создаётся (причём она генерируется постоянно, так должно быть) относительно координат другого мувика, который свободно перемещается и вращается (летательный аппарат например). да и аттачить готовый мувиклип, при этом точно так же(!) высчитывать координаты поворота и всё же высоты или длины линии (это важно) на мой взгляд не легче чем назначить точку трансформации генерируемой линии. Последний раз редактировалось darkvam; 24.08.2008 в 20:21. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Во-первых, совершенно непонятно чего Вы хотите. Постоянно рисовать линию, зная координаты начала и конца - нефиг делать. Здесь сотня исходников была, где линия рисуется динамически, т.е. всё время удаляется и рисуется новая. Но Вы похоже застопорились на идее вращения, либо я просто не понимаю чего Вы хотите. Почему точка трансформации должна куда-то перемещаться, мне тоже непонятно. Объясните по-человечески. Если это лазер, то ТТ всегда в "стреляющем" объекте - луч ведь из него выходит и крутится соответственно относительно него. Все что нужно знать - угол и расстояние до цели (для вращения) или просто координаты начала и конца - для перерисовки.
__________________
Reality.getBounds(this); |
|
|||||
|
[+1 20.08.08]
Регистрация: Aug 2008
Сообщений: 52
|
Wolsh
в том то и дело, что луч создаётся из корабля, но вращаться относительно точки начала он не хочет! он вращается, помоиму, относительно 0:0 координат level0. Как же так получается? и как этого избежать? например, создать линию в клипе космического корабля? дайте совет пожалуйста. |
|
|||||
|
[+1 20.08.08]
Регистрация: Aug 2008
Сообщений: 52
|
ладно. если я делаю линию мувиком. пожалуйста напишите часть кода, где высота мувика линии расчитывается в зависимости с растоянием до объекта.
|
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Ничего не понятно. Может быть стоит все обдумать расписать по поунктам и даже прикрепить рисунок?)
|
|
|||||
|
Modus ponens
|
import mx.utils.Delegate;
var laser:MovieClip = this.createEmptyMovieClip("laser", this.getNextHighestDepth());
laser._x = Stage.width / 2;
laser._y = Stage.height / 2;
function mouseMoveDelegate():Void
{
laser.clear();
laser.lineStyle(4, 0xFF0000);
laser.moveTo(0, 0);
laser.lineTo(laser._xmouse, laser._ymouse);
}
Mouse.addListener(this);
this.onMouseMove = Delegate.create(this, mouseMoveDelegate);
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 25.08.2008 в 11:43. |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|