![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Хочу сделать так, что б звездочка как бы прилетала из-за экрана и по спирали опускалась на свое место на листе.
Не подскажите, как бы это сделать ? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Пусть по направляющей.
|
|
|||||
|
Цитата:
А скрипта какого-то нет ? ![]() интересно просто... Если нет, то сделаю по направляющей. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Формулировать вопросы надо точнее.
|
|
|||||
|
ОК. Как мувиклип програмно, с анимацией ввиде движения по спирали, поставить на определенную точку .
Нормально ?Последний раз редактировалось Cyberex; 01.09.2007 в 01:14. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Не, непонятно, что значит программно поставить в определенную точку? Клип с анимацией или поставить с анимацией? Я не придираюсь, звучит правда по-хамски, но это не специально. Вам надо скрипт, чтобы некий клип, двигаясь по спирали, опускался вниз. Спираль - сходящаяся или расходящаяся? Сколько витков хотя бы примерно - 5, 10, 50, 100?
p.S. А что, во флэше спираль невозможно нарисовать? Вам нужна геометрически точная, для движения звездочки ??? У меня бы это не больше минуты заняло, я даже о скрипте бы и не подумал ![]()
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 01.09.2007 в 01:23. |
|
|||||
|
Цитата:
Но все же не исчезает, а останавливается в нужной мне точке.витков так 3-4. У меня просто много этих "звездочек" и они ложатся в разных местах, потому не очень хочеться юзать направляющие. Вот есть такой скрипт: var angle:Number = 0;
var radius:Number = 0;
var size:Number = 5;
var x:Number = Stage.width / 2;
var y:Number = Stage.height / 2;
var mc:MovieClip = this.createEmptyMovieClip ("mc", 0);
mc.beginFill (0xFF0000);
mc.moveTo (-size, -size);
mc.lineTo (size, -size);
mc.lineTo (size, size);
mc.lineTo (-size, size);
mc.lineTo (-size, -size);
mc.endFill ();
this.lineStyle (0);
this.moveTo (x, y);
this.onEnterFrame = function () {
radius += 1.1;
angle += 10;
mc._x = x + radius * Math.cos (angle * (Math.PI / 180));
mc._y = y + radius * Math.sin (angle * (Math.PI / 180));
this.lineTo (mc._x, mc._y);
};
Последний раз редактировалось Cyberex; 01.09.2007 в 04:14. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
оформите код тегами а то модераторы придут наругают
(изменить - расширенный режим - выделить код - кнопочка #)
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
Да просто поставьте радиус не в ноль, а побольше, и уменьшайте его.
Счас все как раз наоборот. И поставьте проверку радиуса - если он например меньше чем 2, удалите onEnterFrame. Или нарисуйте спиральку, пустите по ней клип, все это добро в мувиклип, и аттачьте в нужное место. Неужели у вас спирали нет в тулзах? Последний раз редактировалось Kikasso; 01.09.2007 в 03:26. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
2 Kikasso - Прикольно! Программер руками рисует, а дизайнер с кодом возится!
Ну у меня такое чето получилось, корявое совсем var angle:Number = 5;
var radius:Number = 360;
var plot:Number = 1.1;
var endX:Number = 200;
var endY:Number = 100;
cond = -1600;
mc.onEnterFrame = function () {
radius -= 1.1;
angle -= 5;
plot -= .1;
if (angle < cond) {
delete mc.onEnterFrame
};
mc._x = endX - radius * Math.sin (angle * ( Math.PI/180));
mc._y = endY + plot/1.5 - radius * Math.cos (angle * (Math.PI/180) );
updateAfterEvent();
};
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|