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

Seraf 01.08.2006 15:00

Всем привет! Встречайте нового пользователя. Мне вот поставили подобную задачу (самый простой скрипт) подошёл но надо решить ещё одну проблему. Как сделать так чтобы этот мувик был зацыкленным (чтобы за последним кадром плёнки появлялся снова первый)?
И при roll over движение прекращялось.
Заранее благодарен!

Seraf 01.08.2006 15:05

Вложений: 1
Вот файл , а то чего нужно добиться размещено на umc.ua

mart.in 02.08.2006 09:25

To A-G:
Штрек молодец!!! Правильно все тебе сказал. Т.е. он дал сам принцип движения по таймлайну.
Я посмотред код Штрека, и чуть его изменил. Т.е можно сделать так:
Код:

mc.stop();
MovieClip.prototype.dv_fr = function(){
        this.onEnterFrame = function(){
                var fr = this._currentframe;
                this.gotoAndStop(fr+1);
        }
}
mc.onMouseDown = dv_fr;
mc.onMouseUp = function() {
        delete this.onEnterFrame;
}

В самой функции onEnterFrame определяешь позицию курсора относительно центра сцены и соответсвенно изменяешь this.gotoAndStop(fr+1) , т.е.
this.gotoAndStop(fr+N), где N - число кадров, пропорциональное удаленности курсора мыши от центра сцены. Если курсор слева, то N со знаком "-", т.е. отнимаешь кадры от текущего кадра мувика, если справа, то прибавляешь. Как определять растояние мыши от центра сцены уже приводилось выше!!!

Seraf 02.08.2006 18:06

Вложений: 1
С тем как зациклить плёнку разобрался но вот как остановить прокрутку при клике на кнопу и чтоб при rollout движение запустилось? Прошу помощи:o

Код:


x = _xmouse-500;
setProperty("rol", _x, Y);
Y = Y-(X/100);

if (Number(Y)>0) {
        Y = Y-1000;
}
if (Number(Y)<100) {
        Y = Number(Y)+1000;}

rol - название мува с плёнкой
на 2м кадре стоит gotoAndPlay (1)

iNils 02.08.2006 18:13

Seraf, отформатируйте свой код. И забудьте про setProperty.

Seraf 02.08.2006 18:37

Вложений: 1
Если вы считаете правильным приведённый выше код

Код:


rol.onEnterFrame = function() {
speed = (500-_xmouse);
this._x += speed/25;
}

То опять же я никак не могу разобраться как управлять этой функцией...
Как останавливать/запускать движение. Лента должна постоянно двигаться но при обращении кпунктам меню останавливаться.

iNils 02.08.2006 19:00

Seraf, вам замечание за нарушение пункта 3, правил подраздела http://www.flasher.ru/forum/showthread.php?t=79864
Если не исправите, то получите еще одно.

mart.in 03.08.2006 06:56

To Seraf: Вот выше для A-G я приводил пример кода, там сруктура проста - одно событие вызывает оброботчик onEnterFrame, другое его удаляет. Вот и воспользуйся такой схемой.

Seraf 03.08.2006 13:33

To Mart.in
В ваших со Штреком примерах немного не то. Если посмотрите выложенный мною фильм (pil_plen_val.rar ) то поймёте. Всё находится в одном кадре. Фильм постоянно движется. Чем дальше курсор от центра тем быстрее скорость движения. Проблема только в том что я не могу управлять этим фильмом. А в вашем случае фильм статичеен и только при управлении курсором (press/не press) происходит прокрутка по кадрам.

mart.in 04.08.2006 12:36

To Seraf: смысла объяснять дальше нет, т.к. ты не разобрался. У меня совсем по другому чем у Штрека. У меня два события, одно из них запускает "перемотку" по таймлайну (с помощью onEnterFrame, внутри которого банальный gotoAndStop), а другое удаляет. А вот внутри onEnterFrame отслеживай удаленность курсора, и соответсвенно меняй N. (см. выше)


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

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