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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.11.2006, 22:22
Vietnam вне форума Посмотреть профиль Отправить личное сообщение для Vietnam Найти все сообщения от Vietnam
  № 1  
Ответить с цитированием
Vietnam

Регистрация: Jul 2006
Сообщений: 10
По умолчанию Как нарисовать пунктирную линию путем AS2?

Можно ли в AS2 нарисовать линии, такие как при рисовании линий путем инструмента "Line Tool"? например прерывистый пунктир или линия точками!?

Старый 23.11.2006, 23:55
Даня вне форума Посмотреть профиль Отправить личное сообщение для Даня Найти все сообщения от Даня
  № 2  
Ответить с цитированием
Даня
 
Аватар для Даня

Регистрация: Nov 2006
Сообщений: 35
Помоему метода такого нет. Единственная функция, которая есть это lineStyle(), но там тока толщина , альфа и цвет RGB. Тебе придётся запустить цикл и прирывесто использовать lineTo. Хотя я склонен ошибаться... просто в справочниках не встречал.

Старый 24.11.2006, 00:27
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Можно нарисовать через BitmapData, но это не совсем то, что требуется.
Если кратко: можно, но нужно писать свою функцию.

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

Регистрация: Jun 2005
Адрес: dreams
Сообщений: 1,137
Отправить сообщение для Fl00r с помощью ICQ
можно кандовенько так
Код:
//координаты начала и конца
xpos1 = 10; xpos2 = 500; ypos1 = 10; ypos2 = 100;
//Длина штриха
d = 10;
//Длина промежутка
p = 10;

this.createEmptyMovieClip("line_mc2", this.getNextHighestDepth());
line_mc2.lineStyle(1, 0x000);
line_mc2.moveTo(xpos1, ypos1);
line_mc2.lineTo(xpos2, ypos2);

this.createEmptyMovieClip("line_mc", this.getNextHighestDepth());
line_mc.lineStyle(5, 0x995);
line_mc.moveTo(xpos1, ypos1);
//длина линии
ln = Math.sqrt((xpos2-xpos1)*(xpos2-xpos1) + (ypos2 - ypos1)*(ypos2 - ypos1));
//синус косинус
sin = (ypos2 - ypos1)/ln;
cos = (xpos2 - xpos1)/ln;
for(i=0; (i+1)*(d+p)*cos<=ln*cos; i++){
	xpos1 += d*cos; ypos1 += d*sin;
	line_mc.lineTo(xpos1, ypos1);
	xpos1 += p*cos; ypos1 += p*sin;
	line_mc.moveTo(xpos1, ypos1);
}
line_mc.lineTo(xpos2, ypos2);
__________________
Глупости какие-то говорите.

Старый 24.11.2006, 00:59
flash33 вне форума Посмотреть профиль Отправить личное сообщение для flash33 Найти все сообщения от flash33
  № 5  
Ответить с цитированием
flash33
 
Аватар для flash33

Регистрация: Nov 2005
Сообщений: 1,155
Код:
this.lineStyle(1, 0xff0000, 100);
this.moveTo(10, 10);
i = 10; w = 400;
while (i < w){ 
this.lineTo(i+=5, 10);
this.moveTo(i+=5, 10);
}
некондовенько

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

Регистрация: Jun 2005
Адрес: dreams
Сообщений: 1,137
Отправить сообщение для Fl00r с помощью ICQ
Ну... А где координаты, длина штриха и промежутка? Это слишком просто.
__________________
Глупости какие-то говорите.

Старый 24.11.2006, 01:46
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Fl00r, пожалуйста:
Код:
drawDashLine = function(target_mc,x1,y1,x2,y2,step,width) {
	var xd = x2-x1;
	var yd = y2-y1;
	var dist = Math.sqrt(xd*xd+yd*yd);
	var steps = Math.round(dist/step);
	var xe = width*xd/dist;
	var ye = width*yd/dist;
	for (var i=0;i<steps;i++) {
		var x = x1+i/steps*xd;
		var y = y1+i/steps*yd;
		target_mc.moveTo(x,y);
		target_mc.lineTo(x+xe,y+ye);
	}
}
Не проверял (писал прям в окне), но работать должно…

Старый 24.11.2006, 02:13
Fl00r вне форума Посмотреть профиль Отправить личное сообщение для Fl00r Найти все сообщения от Fl00r
  № 8  
Ответить с цитированием
Fl00r
 
Аватар для Fl00r

Регистрация: Jun 2005
Адрес: dreams
Сообщений: 1,137
Отправить сообщение для Fl00r с помощью ICQ
Не. Лучше проверь.
2 ошибки (не синтаксических)
__________________
Глупости какие-то говорите.

Старый 24.11.2006, 02:23
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Не вижу. Покажи.
То, что надо lineStyle задать — это, я думал, вы сами догадаетесь…

Старый 24.11.2006, 02:40
Fl00r вне форума Посмотреть профиль Отправить личное сообщение для Fl00r Найти все сообщения от Fl00r
  № 10  
Ответить с цитированием
Fl00r
 
Аватар для Fl00r

Регистрация: Jun 2005
Адрес: dreams
Сообщений: 1,137
Отправить сообщение для Fl00r с помощью ICQ
lineStyle — 1. Догадался конечно

Так
Код:
drawDashLine = function(target_mc,x1,y1,x2,y2,step,width) {
	var xd = x2-x1;
	var yd = y2-y1;
	var dist = Math.sqrt(xd*xd+yd*yd);
	var steps = Math.round(dist/(step+width));
	var cos = xd/dist;
	var sin = yd/dist;
	var xe = width*cos;
	var ye = width*sin
	for (var i=0;i<steps;i++) {
		var x = x1+i*(step+width)*cos;
		var y = y1+i*(step+width)*sin;
		target_mc.lineStyle(1, 0x000000);
		target_mc.moveTo(x,y);
		target_mc.lineTo(x+xe,y+ye);
	}
	target_mc.lineTo(x2,y2)
}
__________________
Глупости какие-то говорите.

Создать новую тему Ответ Часовой пояс GMT +4, время: 04:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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