![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2001
Сообщений: 30
|
Товарищи, как сделать крутящиеся шестерёнки, причём одна из них меньше другой, и разница в количестве зубцов- 2/3....
|
|
|||||
|
Насколько я понимаю они должны еще и крутить как будто одна другую...нарисовать не проблема..но нужно рассчитать угол поворота каждой. Это к механикам нужно обращатся..или поспрашивать исходнички.
|
|
|||||
|
Регистрация: Sep 2001
Адрес: Минск, РБ
Сообщений: 106
|
Когда-то на моем кульмане этих шестеренок было немерянно...
Попробую вспомнить молодость... Итак, рисуешь шестерни оформляешь их мувиками с названиями s1 и s2 и помещаешь их в один мувик и пишешь для этого мувика в ObjectActions следующий код onClipEvent(load) { curAngleS1 = 0 curAngleS2 = 0 angleVelocityS1 = 10 numS1 = 30 //number of zubs s1 numS2 = 20 //number of zubs s2 maxAngleS1 = 360 / numS1 maxAngleS2 = 360 / numS2 } onClipEvent(enterFrame) { curAngleS1 += angleVelocityS1 curAngleS2 += angleVelocityS1 * numS1 / numS2 if (curAngleS1 > maxAngleS1) { curAngleS1 -= maxAngleS1 } if ( curAngleS2 > maxAngleS2) { curAngleS2 -= maxAngleS2 } s1._rotation = curAngleS1 s2._rotation = curAngleS2 } и попробуй, что получится - мне самому интересно |
|
|||||
|
Регистрация: Sep 2001
Адрес: Минск, РБ
Сообщений: 106
|
Подумал-подумал (привычка такая) - можно сделать и покороче:
onClipEvent(load) { angleVelocityS1 = 10 //set needed speed numS1 = 30 //number of zubs s1 numS2 = 20 //number of zubs s2 } onClipEvent(enterFrame) { s1._rotation += angleVelocityS1 s2._rotation += angleVelocityS1 * numS1 / numS2 } |
|
|||||
|
Пока делал все уже объяснили
![]() |
|
|||||
|
Регистрация: Dec 2001
Сообщений: 30
|
Сенькью вери мач!
P.S. Barmaglot- чемпион! |
![]() |
Часовой пояс GMT +4, время: 18:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|