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

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

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

Регистрация: Aug 2003
Адрес: Москва
Сообщений: 188
По умолчанию Нарисовать окружность

Подскажите пожалуйста, что не так. Надо нарисовать окружность радиусом 40 с координатами 41 : 41.
(одна окружность там нарисована, нужна такая же, но большего диаметра)
И как задать ширину линии. И если можно, то как ее в случае небходимости залить( простая).
Вложения
Тип файла: zip ff.zip (2.7 Кб, 95 просмотров)

Старый 02.11.2003, 13:18
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 2  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Окружность/точная/
_root.createEmptyMovieClip("name", 1);
with (_root.name) {
lineStyle(1, 0x00ffcc, 100);
var rad=40

moveTo(-rad, 0);
curveTo(-rad, -rad*Math.SIN(Math.PI/180 * 22.5), -rad*Math.COS(Math.PI/180 * 45), -rad*Math.SIN(Math.PI/180 * 45));
curveTo(-rad*(1-Math.SIN(Math.PI/180 * 22.5))/Math.sqrt(2), -rad, 0, -rad);
curveTo(rad*(1-Math.SIN(Math.PI/180 * 22.5))/Math.sqrt(2), -rad, rad*Math.COS(Math.PI/180 * 45), -rad*Math.SIN(Math.PI/180 * 45));
curveTo(rad, -rad*Math.SIN(Math.PI/180 * 22.5), rad, 0);
curveTo(rad, rad*Math.SIN(Math.PI/180 * 22.5), rad*Math.COS(Math.PI/180 * 45), rad*Math.SIN(Math.PI/180 * 45));
curveTo(rad*(1-Math.SIN(Math.PI/180 * 22.5))/Math.sqrt(2), rad, 0, rad);
curveTo(-rad*(1-Math.SIN(Math.PI/180 * 22.5))/Math.sqrt(2), rad, -rad*Math.COS(Math.PI/180 * 45), rad*Math.SIN(Math.PI/180 * 45));
curveTo(-rad, rad*Math.SIN(Math.PI/180 * 22.5), -rad, 0);
}
_root.name._x=41
_root.name._y=41

Старый 02.11.2003, 13:51
Пушистик вне форума Посмотреть профиль Отправить личное сообщение для Пушистик Посетить домашнюю страницу Пушистик Найти все сообщения от Пушистик
  № 3  
Пушистик
Bumble Bee
[+1 05.07.06]
 
Аватар для Пушистик

Регистрация: May 2003
Адрес: Третья планета от Солнца
Сообщений: 1,254
Отправить сообщение для Пушистик с помощью ICQ
а мона еще по другому:

Код:
function drawCircle(name,div,color,linecolor,alpha,radius) {
    _root.createEmptyMovieClip("name", div);
    with (_root.name) {
        lineStyle(1, linecolor, 100);
        beginFill(color, alpha);
        moveTo(200, 200);
        curveTo(200, 180, 215, 165);
        curveTo(230, 150, 250, 150);
        curveTo(270, 150, 285, 165);
        curveTo(300, 180, 300, 200);
        curveTo(300, 220, 285, 235);
        curveTo(270, 250, 250, 250);
        curveTo(230, 250, 215, 235);
        curveTo(200, 220, 200, 200);
        endFill();
        _width=radius;
        _height=radius;
    }
}
drawCircle(name,5,0x000000,0xFFFF00,30,40);
правда нуна буит координаты приобразовать через globalToLocal();....

а еще вот так можно:

Код:
_root.createEmptyMovieClip("circle", div);
with (_root.circle) {
    lineStyle(100, 0x000000, 100);
    moveTo(200, 200);
    lineTo(202.5,202.5);
}
__________________
Portfolio

Старый 02.11.2003, 14:31
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 4  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Оригинал написал(а) Пушистик
Последний - лихой вариант

Старый 02.11.2003, 14:37
2K WebStudio вне форума Посмотреть профиль Отправить личное сообщение для 2K WebStudio Посетить домашнюю страницу 2K WebStudio Найти все сообщения от 2K WebStudio
  № 5  
2K WebStudio
 
Аватар для 2K WebStudio

Регистрация: Jul 2002
Адрес: Russia Federation Moscow
Сообщений: 779
Отправить сообщение для 2K WebStudio с помощью ICQ
Штрек...
Ну чё ты....
Школа... пятый класс...
r=10;
mc = _root.createEmptyMovieClip("okr", 1);
with (mc) {
beginFill(0x000000, 0);
lineStyle(1, 0x000000, 100);
moveTo(-1*_root.r, 0);
for (x=_root.r*-1; x<=_root.r; x++) {
y = Math.sqrt(Math.pow(_root.r,2)-Math.pow(x, 2));
lineTo(x, y);
}
for (x=_root.r; x>=-1*_root.r; x--) {
y = -1*Math.sqrt(Math.pow(_root.r,2)-Math.pow(x, 2));
lineTo(x, y);
}
endFill();
}
mc.onPress=function(){
startDrag(this,false);
onMouseUp=function(){
stopDrag();
}
}

Вот!
радиус - первая же переменная ( r )!
радуйтесь жизни...
А ещё расскажите нам, какой из способов вы предпочли, спасибо!

Старый 02.11.2003, 14:41
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 6  
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
2 2K WebStudio
двоешник
а вот это будет корявый угловатый тормазной вариант

Код:
MovieClip.prototype.drawArc=function(x,y,radius,arc,startAngle,yRadius){
if(yRadius==undefined){yRadius=radius}
if(Math.abs(arc)>360){arc=360}
segs=Math.ceil(Math.abs(arc)/45)
segAngle=arc/segs
theta=-(segAngle/180)*Math.PI
angle=-(startAngle/180)*Math.PI
ax=x-Math.cos(angle)*radius
ay=y-Math.sin(angle)*yRadius
if(segs>0){for(i=0;i<segs;i++){
angle+=theta
angleMid=angle-(theta/2)
bx=ax+Math.cos(angle)*radius
by=ay+Math.sin(angle)*yRadius
cx=ax+Math.cos(angleMid)*(radius/Math.cos(theta/2))
cy=ay+Math.sin(angleMid)*(yRadius/Math.cos(theta/2))
this.curveTo(cx,cy,bx,by)}}}

with(this.createEmptyMovieClip("circle",1)){my_radius=Math.sqrt(Stage.width*Stage.width+Stage.height*Stage.height)/5;lineStyle(5,0xFF0000,100);beginFill(0x000000,50);moveTo(My_radius,0);drawArc(my_radius,0,my_radius,360,0);_x=Stage.width/2;_y=Stage.height/2}
__________________
flash it


Последний раз редактировалось Techmaker; 02.11.2003 в 14:51.
Старый 02.11.2003, 14:54
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 7  
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
2 2K WebStudio
а вот это будет корявый угловатый тормазной вариант
двоешник

2 Верас Ольга
Код:
MovieClip.prototype.drawArc=function(x,y,radius,arc,startAngle,yRadius){
if(yRadius==undefined){yRadius=radius}
if(Math.abs(arc)>360){arc=360}
segs=Math.ceil(Math.abs(arc)/45)
segAngle=arc/segs
theta=-(segAngle/180)*Math.PI
angle=-(startAngle/180)*Math.PI
ax=x-Math.cos(angle)*radius
ay=y-Math.sin(angle)*yRadius
if(segs>0){for(i=0;i<segs;i++){
angle+=theta
angleMid=angle-(theta/2)
bx=ax+Math.cos(angle)*radius
by=ay+Math.sin(angle)*yRadius
cx=ax+Math.cos(angleMid)*(radius/Math.cos(theta/2))
cy=ay+Math.sin(angleMid)*(yRadius/Math.cos(theta/2))
this.curveTo(cx,cy,bx,by)}}}

with(this.createEmptyMovieClip("circle",1)){
my_radius=Math.sqrt(Stage.width*Stage.width+Stage.height*Stage.height)/5
lineStyle(5,0xFF0000,100)
beginFill(0x000000,50)
moveTo(My_radius,0)
drawArc(my_radius,0,my_radius,360,0)
_x=Stage.width/2;_y=Stage.height/2}
извеняюсь за второй топ
__________________
flash it

Старый 02.11.2003, 14:59
2K WebStudio вне форума Посмотреть профиль Отправить личное сообщение для 2K WebStudio Посетить домашнюю страницу 2K WebStudio Найти все сообщения от 2K WebStudio
  № 8  
2K WebStudio
 
Аватар для 2K WebStudio

Регистрация: Jul 2002
Адрес: Russia Federation Moscow
Сообщений: 779
Отправить сообщение для 2K WebStudio с помощью ICQ
Лучше всего вот так:
lineStyle( 0, 0x0000FF, 100 );
beginFill( 0xFF0000 );
moveTo( 500, 500 );
curveTo( 600, 500, 600, 400 );
curveTo( 600, 300, 500, 300 );
curveTo( 400, 300, 400, 400 );
curveTo( 400, 500, 500, 500 );
endFill();
А потом менять размер мувика!
Там было лево т.к. для маленьких окружностей шаг был слишком велик!
Так его можно уменьшить!Только для маленьких...
Для боьших - не надо... повиснуть может во всяком случае подгрузит комп...

Старый 02.11.2003, 15:09
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 9  
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
Цитата:
Оригинал написал(а) 2K WebStudio
Лучше всего вот так:
lineStyle( 0, 0x0000FF, 100 );
beginFill( 0xFF0000 );
moveTo( 500, 500 );
curveTo( 600, 500, 600, 400 );
curveTo( 600, 300, 500, 300 );
curveTo( 400, 300, 400, 400 );
curveTo( 400, 500, 500, 500 );
endFill();
а разве это окружность?
__________________
flash it

Старый 02.11.2003, 15:36
2K WebStudio вне форума Посмотреть профиль Отправить личное сообщение для 2K WebStudio Посетить домашнюю страницу 2K WebStudio Найти все сообщения от 2K WebStudio
  № 10  
2K WebStudio
 
Аватар для 2K WebStudio

Регистрация: Jul 2002
Адрес: Russia Federation Moscow
Сообщений: 779
Отправить сообщение для 2K WebStudio с помощью ICQ
Ну да...
Это из хелпа...

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

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

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


 


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


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