Форум 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=36721)

FRIENDik 04.09.2002 20:22

Падающие буквы
 
Вот возникла проблема. Я хочу создать эффект падающих букв, при чем что бы каждая буква начинала падать через скажем секунду, после предыдущей.
создаю сначит 4 мувика:
q1
q2
q3
создаю в мувике q1 конструкцию типа
Код:

onClipEvent (enterFrame) {
    var time = getTimer();
    if (time > 2000) {
        _y += 20;
    } else if (time < 2000) {
        _y += 0;
    }
}

когда таймер достигает отметки 2000, оно падает, но вот как мне потом его остановить? , скажем когда оно достигает _y = 100 ??? оно дальше падает :(
а ещё лучше подскажите более грамотный подход, а то я что то не догоняю.
Была идея создать четвертый мувик, в котором будет ВЕСЬ код, и что бы не програмить каждый мувик, хотел сделать цикл, но куда мне циклы делать :(... кароче лажа как всегда, че делать?

derhab 04.09.2002 20:44

Введи в руте переменную, например z=20.
Теперь твой код может выглядеть так:


onClipEvent (enterFrame) {
var time = getTimer();
if (time > 2000) {
_y += _root.z;
if(_y>100){
_root. z=0;
}

}
}

JeeP 04.09.2002 20:59

что-то я тебя не пойму!
то ты хочешь чтоб буквы падали через время, то ты хочешь остановить "ОНО"... че те надо?

:D :D :D

принцип такой:
делаешь мувик который будет падать, на нем пишешь что-то вроде этого
onClipEvent(enterFrame) {
if (_y!=100) {
_y++;
}
}
в самом мувике создай дин. поле - чтоб буквы туда динамически заносить. У тебя получится универсальный(относительно) мувик.

Далее аттачь его с промежутком, пусть 1сек, в координату меньшую чем 100

а промежуток делать так:

if (getTimer-timeout>1000) {
timeout=getTimer();
attachMovieClip("mc", "mc"+i, i);
_root["mc"+i]._x=i*20;
_root["mc"+i]._y=0;
i++;
}

Все, будут они у тебя валиться!

ЗЫ не забудь мувик в библиотеке залинковать как "mc".


enjoy!!!

Sami 05.09.2002 12:12

а по мне так луче...

onClipEvent(enterFrame) {
if (_y!=100)
_y++
else
delete this.onEnterFrame;
}

derhab 05.09.2002 15:47

Дело в том что человеку может захотется менять скорость падения, а вы пишите _y++... Вот ведь он написал вначале _y+=20. По моему значение приращения лучше загнать в переменную.

JeeP 05.09.2002 15:56

2derhab:

это, уже детали!
а загнать - стоит!

FRIENDik 05.09.2002 17:32

Ну у меня и была идея сделать много много переменных (по одной на мувик) со значенями скорости. Мои опасения потвердились! это уже прогресс! я рад :).
А оно это то самое, то, что падает.


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

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