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

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

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

Регистрация: Feb 2002
Адрес: Давным-давно, в далекой, далекой галактике
Сообщений: 82
Отправить сообщение для Boris_Klimenko с помощью ICQ
По умолчанию Сектор вырастающий в круг

Здравствуйте!
Помогите плиз...
Требуется сделать сектор растущий "из нуля" и образующий круг по средствам вращения одной из его сторон, когда 2-ая неподвижна, как показано на примере:

Была идея вращать жирную линию по оси которая находится на одном из ее концов и копирывать в каждом кадре после сдвига при помощи MovieClipDuplicate.
Проблема в том что я не знаю как точно это сделать. Пробовал делать этот Action в каждом кадре, но кадров очень много, движение должно быть мягким.
Как это сделать? Или может есть другой способ создания такой анимации?

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

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Положи этот код в первый фрейм.
Код:
k = 120; //количество секторов
r = 120; //радиус
xpos = 275;
ypos = 200;
this.createEmptyMovieClip("msec",1);
with(msec){
        var ugol = 360/k;
        lineStyle(0,0x000000,100);
        beginFill(0x000000, 100);
        for (t=0; t<((Math.PI/180)*ugol); t += 0.01) {
                lineTo(r*Math.cos(t), r*Math.sin(t));
        }
        endFill();
		_visible = false;

}
ID=setInterval(createIt,600);
function createIt(){
        msec.duplicateMovieClip("msec"+i,i);
        _root["msec"+i]._x = xpos;
        _root["msec"+i]._y = ypos;
        _root["msec"+i]._rotation = (360/k)*i;

        i++;
        if(i==k){
                clearInterval(ID);
      }
}
Или можешь попробовать вот этот код.
Код:
k = 24; //количество секторов
r = 120; //радиус
xpos = 275;
ypos = 200;
this.createEmptyMovieClip("msec",-1);
with(msec){
        var ugol = 360/k;
        lineStyle(0,0x000000,0);
        beginFill(0x000000, 100);
        for (t=0; t<((Math.PI/180)*ugol); t += 0.01) {
                lineTo(r*Math.cos(t), r*Math.sin(t));
        }
        endFill();
        msec._xscale = 0;
        msec._yscale = 0;
}
MovieClip.prototype.scaleIt = function(){
        this.onEnterFrame = function(){
                this._xscale = this._yscale = this.scale;
                if(this.scale<100){
                        this.scale++;
                }
                if(this.scale==100){this.onEnterFrame=null}
        }
}
function colorise(c,coll){
        myCol = new Color(c);
        myCol.setRGB(coll);
}
ID=setInterval(createIt,1200);
function createIt(){
        msec.duplicateMovieClip("msec"+i,i);
        _root["msec"+i]._x = xpos;
        _root["msec"+i]._y = ypos;
        _root["msec"+i]._xscale = _root["msec"+i]._yscale = 0;
        _root["msec"+i]._rotation = (360/k)*i;
        _root["msec"+i].scaleIt();
        doColorise();
        i++;
        if(i==k){
                clearInterval(ID);
        }
}
function doColorise(){
        colorise(_root["msec"+i],10*(i+1)*256*255);
}
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)


Последний раз редактировалось sergwizard; 31.08.2003 в 23:23.
Старый 01.09.2003, 11:55
Boris_Klimenko вне форума Посмотреть профиль Отправить личное сообщение для Boris_Klimenko Посетить домашнюю страницу Boris_Klimenko Найти все сообщения от Boris_Klimenko
  № 3  
Boris_Klimenko
 
Аватар для Boris_Klimenko

Регистрация: Feb 2002
Адрес: Давным-давно, в далекой, далекой галактике
Сообщений: 82
Отправить сообщение для Boris_Klimenko с помощью ICQ
По умолчанию последний вопрос

Огромное спасибо Сергей!
Но как я могу использовать этот ролик в виде маски?
Проверьте пожалуйста что я не так сделал в этом .fla
Зарание благодарен.
Вложения
Тип файла: zip circle.zip (2.7 Кб, 364 просмотров)

Старый 01.09.2003, 19:04
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 4  
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Держи.
Но, вообще-то, если ты хочешь все это только для маски, легче было бы рисовать просто окружность. В этом случае никакой маски не требуется.
Вложения
Тип файла: zip circle1.zip (4.6 Кб, 340 просмотров)
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 01.09.2003, 19:50
Boris_Klimenko вне форума Посмотреть профиль Отправить личное сообщение для Boris_Klimenko Посетить домашнюю страницу Boris_Klimenko Найти все сообщения от Boris_Klimenko
  № 5  
Boris_Klimenko
 
Аватар для Boris_Klimenko

Регистрация: Feb 2002
Адрес: Давным-давно, в далекой, далекой галактике
Сообщений: 82
Отправить сообщение для Boris_Klimenko с помощью ICQ
Большое Спасибо!

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

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

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


 


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


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