Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   как заставить круг с секторами крутится с заданной скоростью? (http://www.flasher.ru/forum/showthread.php?t=41208)

Vrefr 24.12.2002 18:08

как заставить круг с секторами крутится с заданной скоростью?
 
Вопрос:
как заставить круг с секторами крутится?
Подробнее:
При нажатии кнопки мувик (круг) должен начать крутится пока не достигнет, например, 90 градусов.

Что я делаю:
Код:

on (release) {
    do {
        _root.innercircle._rotation +=5;
    } while (_root.innercircle._rotation < 90);
}

В чем проблема:

Круг мгновенно перемещается на 90 грд. Как регулировать скорость его вращения?

Благодаронсти:
Огромное, блин,всем спасибо з ответ :))

Darina 24.12.2002 18:34

Ну истественно! Цикл-то в момент отрабатывается! :p
Надо разнести по кадрам:
кадр "1": _root.innercircle._rotation +=5;
кадр "2":
if (_root.innercircle._rotation < 90) gotoAndPlay('1') // в смысле вернуться на кадр "1".
else gotoAndStop("0");

Всё это должно быть либо в отдельном клипе, который остановлен в кадре "0", а по нажатию кнопки запускается с кадра "1". Либо вообще внутри клипа круга, тогда работать не с _root.innercircle, а с this.

Скорость можно регулировать шагом вращения (пока 5) или расстоянием между кадрами с программой.

Vrefr 24.12.2002 19:07

Ой! :)
Землячка :))) да еще и така розумненька :)

Но в том то и дело, что я не хотел бы испольовать кадровую структуру, а чтобы на кнопочку мувик отзывался! Потому что такихх кнопочек аж 12ть и при нажатии на каждую оддельное вращение круга не определенный градус!
Как быть!? :(

Geniot 24.12.2002 19:18

Молча
 
http://vitaly.intervelopers.com/rotatingsector.fla
http://vitaly.intervelopers.com/rotatingsector.swf

Скорость можно впечатывать.
Работает только на 6.

Vrefr 24.12.2002 20:15

Я тут придумал как все сделать (учитывая то, что сказала Даринка), но почему-то у меня оно не работает! :(

А мысль в следующем:
В руте мы объявляем переменную
Код:


sign = 0;

в мувике, где находится круг мы пишем в первом кадре
Код:

stop();
_root.innercircle.zodiacs._rotation += 5;

во втором кадре:
Код:

if (_root.innercircle.zodiacs._rotation < _root.sign) {
    gotoAndPlay(1);
} else {
    gotoAndStop(1);
}

А кнопке присваем такой экшн:
Код:

on (release) {
    _root.innercircle.gotoAndPlay(1);
    _root.sign = 45;
}

Проблемы:
1) Как только загружается свфка, то мувик сразу же делает 5тиградусный шаг, а он это должен делать только после нажатия кнопки;

2) После нажатия кнопки ничего не происходит:)

Простите ребята гуманитария :) Может для вас это и смешно, а у меня даже вышки почти не было :) все своими силами :)
ПС: Даринка, а что такое кадр "0", отсчет то идет сразу с кадра "1"....

Огромное спасибо заранее :)

Max N Chubin_ 24.12.2002 20:36

а если так?
 
Вложений: 1
вот тебе маленький подарочек на Новый год.
сектор нарисован программно, крутится на любой угол генерящийся при нажатии на батон.
сделано наспех, оптимизировать некогда...
особенно алгоритм вращения...
но работает, мож сойдет и так? ;)
на крайняк писни чего нужно догнем!
Успехов.

ЗЫ: женщины утверждают что размер не главное... но они сильно ошибаются, отвечают им программисты! :p

Vrefr 24.12.2002 20:40

спасибо Макс, бум смотреть, а что так как я написал не катит совсем? ;)

Max N Chubin_ 24.12.2002 20:44

ах вот еще!
 
забыл упомянуть...
функция позволяет строить диаграмму с любыми координатами, радиусом, коэффициентом сжатия по осям (типа перспектива) и сектором заданного угла.
т.е.
sektor(tag,x,y,r1,r2,ugol);
где tag - клип куда надо вставить окружность с сектором
x, y - координаты центра окружности
r1,r2 - радиусы по осям X и Y соответственно (при r1=r2 получим круг)
ugol - угл сектора в градусах.

при небольшой доработке можно сделать также построенние круговой диаграммы, или даже объемную диаграмМмку...
;)

Max N Chubin_ 24.12.2002 20:46

честно говоря...
 
я даже не разбирался в твоем коде..
посмотрел пример от Geniot и решил тебе сваять свой примерчик...
посмотри, мож так интереснее будет?

Vrefr 25.12.2002 13:28

Люююди!
Не то!
Может я не правильно объяснил?
Есть круг с секторами, сверху отметка недвижимая.
Рядом 12 кнопок. Соответственно 12 секторов в круге - нажал на кнопку определенный сектор с определенным значком преревернулся плавно на отметку!
Вверху код который по идее должен работать но не работает! Почему???
Вот... :) Мерси
PS: MAx, глянь код, а :) ?


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

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