Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Движение клипа по спирали сверху вниз и остановка. (http://www.flasher.ru/forum/showthread.php?t=100643)

Cyberex 31.08.2007 22:11

Движение клипа по спирали сверху вниз и остановка.
 
Хочу сделать так, что б звездочка как бы прилетала из-за экрана и по спирали опускалась на свое место на листе.

Не подскажите, как бы это сделать ?

etc 31.08.2007 22:29

Пусть по направляющей.

Cyberex 01.09.2007 00:42

Цитата:

Сообщение от __etc
Пусть по направляющей.

Это мне надо в кореле нарисовать спираль, экспортировать в ПСД и вытянуть во влеше ?

А скрипта какого-то нет ? :)
интересно просто... Если нет, то сделаю по направляющей.

etc 01.09.2007 00:52

Формулировать вопросы надо точнее.

Cyberex 01.09.2007 01:11

ОК. Как мувиклип програмно, с анимацией ввиде движения по спирали, поставить на определенную точку . :) Нормально ?

Wolsh 01.09.2007 01:16

Не, непонятно, что значит программно поставить в определенную точку? Клип с анимацией или поставить с анимацией? Я не придираюсь, звучит правда по-хамски, но это не специально. Вам надо скрипт, чтобы некий клип, двигаясь по спирали, опускался вниз. Спираль - сходящаяся или расходящаяся? Сколько витков хотя бы примерно - 5, 10, 50, 100?

p.S. А что, во флэше спираль невозможно нарисовать? Вам нужна геометрически точная, для движения звездочки :) ??? У меня бы это не больше минуты заняло, я даже о скрипте бы и не подумал :)

Cyberex 01.09.2007 01:47

Цитата:

Сообщение от Wolsh
Вам надо скрипт, чтобы некий клип, двигаясь по спирали, опускался вниз.

Именно! Эффект такой, что клип как бы в раковину смывается :) Но все же не исчезает, а останавливается в нужной мне точке.
витков так 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);
};

А я хочу такой же эффект, но наоборот. И сам мувик у меня уже есть, создавать не надо.

Wolsh 01.09.2007 02:21

оформите код тегами а то модераторы придут наругают
(изменить - расширенный режим - выделить код - кнопочка #)

Kikasso 01.09.2007 02:45

Вложений: 1
Да просто поставьте радиус не в ноль, а побольше, и уменьшайте его.
Счас все как раз наоборот.
И поставьте проверку радиуса - если он например меньше чем 2, удалите onEnterFrame.

Или нарисуйте спиральку, пустите по ней клип, все это добро в мувиклип, и аттачьте в нужное место.

Неужели у вас спирали нет в тулзах?

Wolsh 01.09.2007 03:49

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();
};

реально с гайдом красивее, как я и говорил.


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

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