Просмотр полной версии : Движение клипа по спирали сверху вниз и остановка.
Хочу сделать так, что б звездочка как бы прилетала из-за экрана и по спирали опускалась на свое место на листе.
Не подскажите, как бы это сделать ?
Пусть по направляющей.
Это мне надо в кореле нарисовать спираль, экспортировать в ПСД и вытянуть во влеше ?
А скрипта какого-то нет ? :)
интересно просто... Если нет, то сделаю по направляющей.
Формулировать вопросы надо точнее.
ОК. Как мувиклип програмно, с анимацией ввиде движения по спирали, поставить на определенную точку . :) Нормально ?
Не, непонятно, что значит программно поставить в определенную точку? Клип с анимацией или поставить с анимацией? Я не придираюсь, звучит правда по-хамски, но это не специально. Вам надо скрипт, чтобы некий клип, двигаясь по спирали, опускался вниз. Спираль - сходящаяся или расходящаяся? Сколько витков хотя бы примерно - 5, 10, 50, 100?
p.S. А что, во флэше спираль невозможно нарисовать? Вам нужна геометрически точная, для движения звездочки :) ??? У меня бы это не больше минуты заняло, я даже о скрипте бы и не подумал :)
Вам надо скрипт, чтобы некий клип, двигаясь по спирали, опускался вниз.
Именно! Эффект такой, что клип как бы в раковину смывается :) Но все же не исчезает, а останавливается в нужной мне точке.
витков так 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);
};
А я хочу такой же эффект, но наоборот. И сам мувик у меня уже есть, создавать не надо.
оформите код тегами а то модераторы придут наругают
(изменить - расширенный режим - выделить код - кнопочка #)
Да просто поставьте радиус не в ноль, а побольше, и уменьшайте его.
Счас все как раз наоборот.
И поставьте проверку радиуса - если он например меньше чем 2, удалите onEnterFrame.
Или нарисуйте спиральку, пустите по ней клип, все это добро в мувиклип, и аттачьте в нужное место.
Неужели у вас спирали нет в тулзах?
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();
};
реально с гайдом красивее, как я и говорил.
Спасибо большое всем. Все подошло как нельзя лучше :)
Mr. Fixit
01.09.2007, 04:59
типа такого?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.