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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 29.03.2002, 17:52
[subway]design вне форума Посмотреть профиль Отправить личное сообщение для [subway]design Посетить домашнюю страницу [subway]design Найти все сообщения от [subway]design
  № 1  
[subway]design
 
Аватар для [subway]design

Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
По умолчанию [MX] Западло curveTo()

Вот функция:
Код:
  
function circle(obj, x, y, r) {
	//
	with (obj) {
		//
		moveTo(x-r, y);
		beginFill(0x003366);
		curveTo(x-r, y-r, x, y-r);
		curveTo(x+r, y-r, x+r, y);
		curveTo(x+r, y+r, x, y+r);
		curveTo(x-r, y+r, x-r, y);
		endFill();
		//	
	}
	//
}
Рисует синий кружочек в нужном муве (obj) с заданными координатами и радиусом. Что из этого получается - смотрите на скриншот.

Судя по всему, кривые реализованы как-то неправильно, поэтому я ввел поправочный коэффициент для координат углов квадрата (в него вписана окружность), так, что эти углы "убираются" внутрь него и поправляют контур круга:

Код:
  
function circle(obj, x, y, r,k) {
	//
	with (obj) {
		//
		moveTo(x-r, y);
		beginFill(0x003366);
		curveTo(x-r*k, y-r*k, x, y-r);
		curveTo(x+r*k, y-r*k, x+r, y);
		curveTo(x+r*k, y+r*k, x, y+r);
		curveTo(x-r*k, y+r*k, x-r, y);
		endFill();
		//	
	}
	//
}
Вот таблица для экспериментальных радиусов:
Код:
 
радиус (px)   |   k
______________|_______
              |              
    10        |  0.9    
    50        |  0.96 
   100        |  0.97
              |
Но при изменении k заметны углы на стыках кривых. Так как же быть?
Изображения
 
__________________
subway.net.ru

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

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

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


 


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


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