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

D299 23.10.2009 16:15

Таймлайн задним ходом.
 
Подскажите пожалуйста как сделать кнопочку на которую жмёшь и ролик отматывается назад? ????????

mooncar 23.10.2009 16:30

Поищите по ключ.слову "реверс" - на форуме приводились алгоритмы.

Сникерс 23.10.2009 16:54

Код AS1/AS2:

your_btn.onRelease = function() {
  while(_root._currentframe != 1) {
      _root.prevFrame();
  }
}


mooncar 23.10.2009 17:17

Цитата:

Сообщение от Сникерс (Сообщение 860083)
Код AS1/AS2:

your_btn.onRelease = function() {
  while(_root._currentframe != 1) {
      _root.prevFrame();
  }
}


Ожидаемый результат не получится - переход на 1 кадр произойдет практически мгновенно.

Сникерс 23.10.2009 17:28

А, извините!

D299 23.10.2009 17:28

Код я на форуме разыскал
Цитата:

this.onEnterFrame = function () {
this.gotoAndStop (this._currentframe + this.df);
if (this._currentframe == 1) {
this.df = 1;
} else if (this._currentframe == this._totalframes) {
this.df = -1;
}
};
this.df = 0
this.stop ();
Только как его заставить нормально работать от нажатия кнопки

TihelpER 23.10.2009 17:30

Цитата:

Сообщение от mooncar (Сообщение 860092)
]
Ожидаемый результат не получится - переход на 1 кадр произойдет практически мгновенно.

Ага, а если кадров бесчётное множество то плеер может написать про слишком медленный скрипт.

Автор, тебе нужно перешагивать на кадр назад фпс-раз в секунду. Вот и пиши:

Код AS1/AS2:

mcBt.onPress = function() {
        createRevers()
        trace("press")
}
 
function createRevers(){
        _root.onEnterFrame = function() {
                if(this._currentframe > 1) {
                        this.prevFrame()
                } else {
                        this.gotoAndStop(1)
                        delete this.onEnterFrame
                }
        }
}

upd срипт

Сникерс 23.10.2009 17:38

А вот так:
Код AS1/AS2:

var zvonok: Boolean = false;
this.onEnterFrame = function() {
  if (zvonok) {
      if (this._currentframe == 1) {
        zvonok = false;
      }
      this.prevFrame();
}
your_btn.onRelease = function() {
  zvonok = true;
}

Это всё на том слое, который протянут на весь фильм и имеет только один ключевой кадр.

D299 23.10.2009 18:16

To TihelpER
Спасибо это работает , только как этот реверс остановить ? и ещё почему-то кнопка срабатывает со второго раза (

To Сникерс
Когда я вставляю твой код ,выскакакивает ошибка.

Я в програмировании дуб-дубом так что простите если чего не понимаю.

Сникерс 23.10.2009 18:22

Вот этот второй, который у меня?

Добавлено через 3 минуты
Может это потому что у тебя этот код не на "_root"? А попробуй заменить везде "this" на "_root".


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

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