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

GENOCID 17.09.2005 08:08

как проиграть мувиклип задом наперёд?
 
знаю что есть такой раздел в FAQ но не могу туда попастьЮ не пускают

Vitamin E 17.09.2005 09:54

Вложений: 1
Это ставишь в первую рамку:

Код:

MovieClip.prototype.playReverse = function() {
        this.onEnterFrame = function() {
                this._currentframe != 1 ? this.prevFrame() : this.gotoAndStop(this._totalframes);
        };
};
MovieClip.prototype.playNormal = function() {
        this.onEnterFrame = function() {
                this.play();
        };
};

Это вешаешь на мув:

Код:

onClipEvent (mouseDown) {
        this.playReverse();
}
onClipEvent (mouseUp) {
        this.playNormal();
}

Пример:

GENOCID 17.09.2005 20:54

не поверишь............не работает!

mYt 19.09.2005 10:02

2GENOCID, все работает, первый кусок кода кидаешь на первый кадр мувика (вернее даже сцены), второй кусок вешаешь на сам мувик, который надо туда-сюда проигрывать, при клике на него у тебя будет реверс... и самое главное не забудь свой мувик (тот который будет с реверсом обозвать this, либо в коде где встретишь this поменяй на название своего мувика)
В моем случае я повесил на две кнопки вперед и назад (код для кнопок см. ниже). Теперь задаюсь вопросом, как же этот мувик остановить т.к. ни this.stop() ни просто stop() внутри мувика не работает :( Может нужно ввести доп. функцию для этого дела? Господин Vitamin E ответьте пожалуйста :)

код для кнопки реверса:
Код:

on (release) {
    this.playReverse();
}

код для нормального воспр. :
Код:

on (release) {
    this.playNormal();
}


GENOCID 19.09.2005 11:20

думаю что поможе, при убирании или отжатии кнопки поствить clip.stop();

mYt 19.09.2005 13:41

благодарю, попробую на досуге. У меня там такая сложная система уже наворотилась, едва соображаю чего где хотел сделать:)
Никак не соображу одну весчь: у меня идет полоска, в ней кадры-ссылки, которые позволяют прыгать по другому ролику. При загрузке эти кадры медленно прокручиваются слева направо, при нажатии одной кнопки крутятся назад, при нажатии другой - снова крутятся вперед. При роловере кадры останавливаются, зочу сделать чтобы после ролаута кадры крутились в прежнем направлении (либо назад либо вперед, в зависимости от того какое было последнее направление движения). Как это сделать я пока недогадался. Наверное нужен код который бы отслеживал направление, или вместо this.playStop () (функцию дополнительно определял в певом куске кода) ввести какую нибудь паузу.
Имеется ли такая функция как пауза ?

Прошу прощения за запутанность и многословие. Котелок уже не варит :)

FanFan_ 08.11.2006 09:55

вот объясните мне, почему, если воспользоваться данной функцией, стопы на кадрах игнорируются?

Допустип, я проиграл клип назад, снова запустил его вперед, на n-м кадре стоит stop(), но он игнорируется и проигрвается дальше.

Как мне быть? Помогите!!!!Плиз!

DarkLight 08.11.2006 09:59

В плейНормал просто написать play, а не вешать в онЕнтерфрейм, т к иначе стопы игнорируются, т к каждый раз мувику делается play

_sestra_ 08.11.2006 12:51

Ребята, ну сколько уже толдычат: не юзайте on () и ClipEvent. ой ужас какооой :)

D12 08.11.2006 22:37

Вот для одной кнопки :
прошу прощения за мою маленькую прывычку относительно переменных .
Код:

_root.zzz = 1;
_root.ppp = 0;
_root.onEnterFrame = function() {
        if (_root.ppp == 0 && _root.zzz>1) {
                _root.zzz -= 1;
        }
        if (_root.ppp == 1 && _root.zzz<12) {
                _root.zzz += 1;
        }
        _root.rolic.gotoAndStop(_root.zzz);
};
////////////////////////////////////
_root.rolic.onRollOut = function() {
        _root.ppp = 0;
};
_root.rolic.onRollOver = function() {
        _root.ppp = 1;
};

для толпы роликов

Код:

this.kolishestvo = 3;
//количество роликов на которые должен распростронятся код
for (var i:Number = 1; i<=this.kolishestvo; i++) {
        this["rolic"+i].Go = 1;
        this["rolic"+i].kontroll = 0;
        this["rolic"+i].onEnterFrame = function() {
                if (this.kontroll == 0 && this.Go>1) {
                        this.Go -= 1;
                }
                if (this.kontroll == 1 && this.Go<this._totalframes) {
                        this.Go += 1;
                }
                this.gotoAndStop(this.Go);
        };
        //
        this["rolic"+i].onRollOut = function() {
                this.kontroll = 0;
        };
        this["rolic"+i].onRollOver = function() {
                this.kontroll = 1;
        };
}
////

Еще извеняюсь что немогу прикрепить изходники , незнаю что с форумом произошло но у меня в "Лисе" теги неработают и управление вложениями .
если что пиши на почту "696969oxy@mail.ru" перешлю примеры .
А вообще если поискать по форуму я эти примеры раз десять выкладывал


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

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