Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.08.2008, 17:51
darkvam вне форума Посмотреть профиль Отправить личное сообщение для darkvam Найти все сообщения от darkvam
  № 1  
Ответить с цитированием
darkvam
[+1 20.08.08]

Регистрация: Aug 2008
Сообщений: 52
По умолчанию как управлять точкой трансформации

Здравствуйте, вот в чём проблемма. в мувике динамически создаю линию. При этом, её необходимо вращать относительно известной точки. Как установить точку трансформации для линии? пробовал transformPoint но не работает. помогите пожалуйста.

Старый 24.08.2008, 19:04
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 2  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
помоему проще нарисовать эту линию сделать нужную точку, за атачить и крутить.

Старый 24.08.2008, 20:03
darkvam вне форума Посмотреть профиль Отправить личное сообщение для darkvam Найти все сообщения от darkvam
  № 3  
Ответить с цитированием
darkvam
[+1 20.08.08]

Регистрация: Aug 2008
Сообщений: 52
ZIK68
дело в том, что эта линия должна имитировать луч лазера, и длина этого луча долна постоянно изменяться в соответствии с растоянием до блокирующего мувиклипа (в моём случае - космический корабль.) то есть, нужно постоянно проверять расстояние до объекта. Сделать это с помощью готового мувика помоиму труднее, т.к. он будет непрапорционально растягиваться/сжиматься.

Старый 24.08.2008, 20:11
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Проще - рисовать линию ("динамически" же, да?) там где надо. Т.е. чтобы точка трансформации (0,0) была в центре линии.
UPD: В смысле "непропорционально"? Разве это не от Вас зависит? Ставите линии нескалироваться в толщину и всё.
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 24.08.2008 в 20:13.
Старый 24.08.2008, 20:17
darkvam вне форума Посмотреть профиль Отправить личное сообщение для darkvam Найти все сообщения от darkvam
  № 5  
Ответить с цитированием
darkvam
[+1 20.08.08]

Регистрация: Aug 2008
Сообщений: 52
Wolsh
не проще. во-первых = в этом случа она будет вращаться только относительно центра, а мне же необходимо чтобы линия вращалась относительно одного из своих концов.
Во-вторых - лини (а следовательно и точка трансформации) должны будут свободно перемещаться по ролику. при этом сохраняя свои пропорции. Поэтому, постоянно создавать линию, на уже заведомо знаемых координатах не получиться, - линия создаётся (причём она генерируется постоянно, так должно быть) относительно координат другого мувика, который свободно перемещается и вращается (летательный аппарат например).

да и аттачить готовый мувиклип, при этом точно так же(!) высчитывать координаты поворота и всё же высоты или длины линии (это важно) на мой взгляд не легче чем назначить точку трансформации генерируемой линии.


Последний раз редактировалось darkvam; 24.08.2008 в 20:21.
Старый 24.08.2008, 21:56
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Во-первых, совершенно непонятно чего Вы хотите. Постоянно рисовать линию, зная координаты начала и конца - нефиг делать. Здесь сотня исходников была, где линия рисуется динамически, т.е. всё время удаляется и рисуется новая. Но Вы похоже застопорились на идее вращения, либо я просто не понимаю чего Вы хотите. Почему точка трансформации должна куда-то перемещаться, мне тоже непонятно. Объясните по-человечески. Если это лазер, то ТТ всегда в "стреляющем" объекте - луч ведь из него выходит и крутится соответственно относительно него. Все что нужно знать - угол и расстояние до цели (для вращения) или просто координаты начала и конца - для перерисовки.
__________________
Reality.getBounds(this);

Старый 25.08.2008, 09:31
darkvam вне форума Посмотреть профиль Отправить личное сообщение для darkvam Найти все сообщения от darkvam
  № 7  
Ответить с цитированием
darkvam
[+1 20.08.08]

Регистрация: Aug 2008
Сообщений: 52
Wolsh
в том то и дело, что луч создаётся из корабля, но вращаться относительно точки начала он не хочет! он вращается, помоиму, относительно 0:0 координат level0. Как же так получается? и как этого избежать? например, создать линию в клипе космического корабля? дайте совет пожалуйста.

Старый 25.08.2008, 11:09
darkvam вне форума Посмотреть профиль Отправить личное сообщение для darkvam Найти все сообщения от darkvam
  № 8  
Ответить с цитированием
darkvam
[+1 20.08.08]

Регистрация: Aug 2008
Сообщений: 52
ладно. если я делаю линию мувиком. пожалуйста напишите часть кода, где высота мувика линии расчитывается в зависимости с растоянием до объекта.

Старый 25.08.2008, 11:21
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 9  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
Ничего не понятно. Может быть стоит все обдумать расписать по поунктам и даже прикрепить рисунок?)

Старый 25.08.2008, 11:38
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 10  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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