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

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

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

Регистрация: Dec 2009
Сообщений: 42
По умолчанию Продолжить направление линии

Имеется вот такой код:
Код AS3:
my_canvas.graphics.clear();
my_canvas.graphics.lineStyle(2, 0xFF0000);
my_canvas.graphics.moveTo(bodyconm.x, bodyconm.y);
my_canvas.graphics.lineTo(mouseX, mouseY);
как понятно из него он рисует линию от определенного объекта (bodyconm) и до координат мыши. Задача в том чтобы линия заканчивалась не сразу на мышке, а чуть поодаль, пикселей на 30, сохравнив при этом направление. Чтобы было понятнее прихреначиваю картинку.
[IMG]http://s007.***********/i301/1107/e0/7ec3180e5206.png[/IMG]
Спасибо

Старый 12.07.2011, 18:31
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 2  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Геометрия. Векторы. Загляните в соседнюю тему..

Старый 12.07.2011, 18:43
Scorp2008 вне форума Посмотреть профиль Отправить личное сообщение для Scorp2008 Найти все сообщения от Scorp2008
  № 3  
Ответить с цитированием
Scorp2008
[+1 13.07.11]
[++1 13.07.11]

Регистрация: Dec 2009
Сообщений: 42
ну вы прям не i.o. а К.О. , я знаю что это векторы и геометрия, но мой скудный ум совсем не понимает математики, но код пишет кое как, да. Может код подскажете, 2 строчки то всего

Старый 12.07.2011, 18:49
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 4  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Может код подскажете, 2 строчки то всего
Код:
vec = B - A
C = A + vec * (нужнаяДлина / vec.length)
Ну вот как то так


Последний раз редактировалось i.o.; 12.07.2011 в 18:53.
Старый 12.07.2011, 18:57
OnEg1n вне форума Посмотреть профиль Отправить личное сообщение для OnEg1n Найти все сообщения от OnEg1n
  № 5  
Ответить с цитированием
OnEg1n
 
Аватар для OnEg1n

Регистрация: May 2010
Адрес: Киев
Сообщений: 62
здесь глянь

http://xitri.com/2009/03/19/crimsonl...ionscript.html

здесь ружье крутится за мышью...код здесь на as2, но разобраться можно
__________________
trace("Hello, world!");

Старый 12.07.2011, 18:57
Scorp2008 вне форума Посмотреть профиль Отправить личное сообщение для Scorp2008 Найти все сообщения от Scorp2008
  № 6  
Ответить с цитированием
Scorp2008
[+1 13.07.11]
[++1 13.07.11]

Регистрация: Dec 2009
Сообщений: 42
i.o. - такое я только с Point сделать смогу наверное, B - это координаты bodyconm, A - координаты мыши, а C итоговые координаты.. Так нормально будет сделать с точками? А vec.length - это как определять, vec это что вообще, какой тип переменной?

Добавлено через 58 секунд
OnEg1n - чтоб ружьё за мышью крутилось у меня сделано, вопрос совсем в другом.

Старый 12.07.2011, 19:05
OnEg1n вне форума Посмотреть профиль Отправить личное сообщение для OnEg1n Найти все сообщения от OnEg1n
  № 7  
Ответить с цитированием
OnEg1n
 
Аватар для OnEg1n

Регистрация: May 2010
Адрес: Киев
Сообщений: 62
у тебя есть координаты мышки(т.е. начальные координаты)...есть угол, есть длина. Дорисуй линию, которую на нужную тебе длину, используя угол поворота и начальные координаты...
__________________
trace("Hello, world!");

Старый 12.07.2011, 19:10
Scorp2008 вне форума Посмотреть профиль Отправить личное сообщение для Scorp2008 Найти все сообщения от Scorp2008
  № 8  
Ответить с цитированием
Scorp2008
[+1 13.07.11]
[++1 13.07.11]

Регистрация: Dec 2009
Сообщений: 42
не нужно мне "дорисовывать", нужно чтоб это изначально было от начала и до конца 1 линия, а всё остальное не понял как сделать. Ладно, я понял, бестолку конкретный код спрашивать у понимающих, все только наставлять горазды как-будто от этого толку больше будет, я вообще изредка с этим сталкиваюсь, с математикой всякой и не понимаю её.

Старый 12.07.2011, 19:14
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 9  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Сообщение от Scorp2008 Посмотреть сообщение
i.o. - такое я только с Point сделать смогу наверное, B - это координаты bodyconm, A - координаты мыши, а C итоговые координаты.. Так нормально будет сделать с точками? А vec.length - это как определять, vec это что вообще, какой тип переменной?
ну все правильно. Point.
Цитата:
А vec.length - это как определять
У Point есть метод length, насколько помню.

Старый 12.07.2011, 19:16
Scorp2008 вне форума Посмотреть профиль Отправить личное сообщение для Scorp2008 Найти все сообщения от Scorp2008
  № 10  
Ответить с цитированием
Scorp2008
[+1 13.07.11]
[++1 13.07.11]

Регистрация: Dec 2009
Сообщений: 42
Хорошо, спасибо, сейчас попробую. А вот так можно делать или каждый поинт лучше отдельно определять?
Код AS3:
var A,B,C,vec:Point = new Point();
попробовал вот что:
Код AS3:
		var A, B, C, vec:Point = new Point();
		A.x = bodyconm.x;
		A.y = bodyconm.y;
		B.x = mouseX;
		B.y = mouseY;
		vec = B - A;
Последняя строчка неверна, нельзя так точку определять, подскажите как верно.


Последний раз редактировалось Scorp2008; 12.07.2011 в 19:26.
Создать новую тему Ответ Часовой пояс GMT +4, время: 03:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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