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

Dimchansky 06.07.2005 14:06

panorama.allow_move=false;
panorama.acceleration=30;
panorama_mover={}
panorama_mover.onMouseDown=function(){
_root.panorama.allow_move=true;
}
panorama_mover.onMouseUp=function(){
_root.panorama.allow_move=false;
}
Mouse.addListener(panorama_mover);
panorama.onEnterFrame=function(){
if (!this.allow_move) return 0;
if((_root._xmouse>Stage.width/2) && (Math.abs(this._x)<(this._width-Stage.width)))
this._x-=(_root._xmouse-Stage.width/2)/this.acceleration;
if(((_root._xmouse<Stage.width/2)) && this._x<0)
this._x+=(Stage.width/2-_root._xmouse)/this.acceleration;
}

---------------------------------------
1. создаешь мувик панорамы panorama
2. центрируешь на сцене
3. ctrl+enter

Dimchansky 06.07.2005 16:11

mouse_left._visible=mouse_right._visible=false;
panorama.allow_move=false;
panorama.acceleration=10;
//--------------------------------------------
panorama_mover={}
panorama_mover.onMouseDown=function(){
Mouse.hide();
_root.panorama.allow_move=true;
}
panorama_mover.onMouseUp=function(){
Mouse.show();
mouse_left._visible=mouse_right._visible=false;
_root.panorama.allow_move=false;
}
Mouse.addListener(panorama_mover);
//--------------------------------------------
doMouseCursor=function(dir){
(dir=="left") ? _root.mouse_right._visible=false : _root.mouse_left._visible=false
with(_root["mouse_"+dir]){
_visible=true;
_x=_root._xmouse;
_y=_root._ymouse;
}
}
//--------------------------------------------
panorama.onEnterFrame=function(){
if (!this.allow_move) return 0;
if((_root._xmouse>Stage.width/2) && (Math.abs(this._x)<(this._width-Stage.width))){
this._x-=(_root._xmouse-Stage.width/2)/this.acceleration;
doMouseCursor("right");
}
if(((_root._xmouse<Stage.width/2)) && this._x<0){
this._x+=(Stage.width/2-_root._xmouse)/this.acceleration;
doMouseCursor("left");
}
}
stop();
//----------------------------------------------

mouse_left, mouse_right - мувики для замещения указателя мыши при движении ее влево/вправо соответственно

A-G 08.07.2005 03:49

Спасибо, Dimchansky.
1. Попробовал скрипты, но это похоже не совсем то, что мне нужно - этот скрипт делает панораму, по мувиклипу по его "плоскости", не подразумевая, что в мувиклипе есть динамика.
Мне же нужно, чтобы все происходило именно так (я про управление мышкой), но чтобы с помощью мышки можно было бы ездить не по мувиклипу (склееной панораме), а по таймлайну мувиклипа. Дело в том, что мой мувиклип только сначала собранная панорама, а потом фотки динамически сменяются - две фотки одновременно масштабируются, перемещаются относительно исходного положения, одна сменяется на другую (через прозрачность). Это что-то типа влета в глубь кадра. Так что просто статичная задвиганая панорамная картинка здесь не прокатит. (есть анимированная динамика). Надеюсь я понятно объяснил.
Нет ли возможности может быть что-то подправить в этом коде, чтобы ездить именно по таймлайну?

2. А с мышкой у меня чего-то не вышло... Куда нужно вставлять этот код?
Пробовал вставлять в фрэйм в композиции. Пробовал затаскивать два мувиклипа курсоров (левый, правый) на разные слои и в каждый вставлять этот скрипт. Короче чего-то не понял я как прикрутить этот скрипт...

П.с. Ну не програмист я похоже... =)

Штрек 09.07.2005 01:15

Вложений: 1
Ну что Вы воду в ступе толчёте.....
Всё проще простого -

MovieClip.prototype.dv_fr = function() {
this.stop();
var fr_w = Math.ceil(Stage.width/this._totalframes);
this.onMouseMove = function() {
this.gotoAndStop(Math.ceil(_root._xmouse/fr_w));
};
};
mc.dv_fr();

A-G 11.07.2005 03:17

приветствую штрек.
может я что-то конечно нетак сделал, но у меня не заработал данный вами скрипт. и, кстати сказать, судя по ролику в зипе - это совершенно не то, что мне нужно - этот скрипт трансформирует стороны векторного прямоугольника...
какое отношение это имеет к интерактвному движению по таймлайну?

Штрек 11.07.2005 17:25

тяжелый случай.....
вместо 40ка кадров твина поставь что тебе надо..........

A-G 12.07.2005 14:03

Штрек, айм сорри - чего-то я не заметил, что там в символе таймлайн. а скрипт вставил - чего-то он у меня не заработал - вот я и подумал что это не то.

Короче подставил я свой ролик - заработал. Только в этом скрипте движение зацеплено, как я понял "за пиксели" - т.е. грубо говоря - 1 px = 1 кадр (или что-то типа того).
А у меня задача, чтобы при нажатии мышкой на левую/правую область флэшки, ролик с плавным началом начинал проигрываться. И насколько ближе/дальше мышка (зажатая) к левой/правой области кадра - настолько быстро/медленно проигрывается ролик.

А, кстати сказать ролик у меня не очень-то короткий - с данным вами скриптом мне приходилось уводить мышу значительно за рамки ролика - не фасон.

Бармалей 12.07.2005 14:26

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

Штрек 13.07.2005 00:33

Цитата:

Сообщение от a-g
ролик с плавным началом начинал проигрываться..

по внятней, плиззззззззз

A-G 13.07.2005 02:18

бармалей: что вы подразумеваете под "ведь проще во много раз все твои фотки в мувик загнать и гонять их туда-сюда сколько влезет?" ??? если склеить из фоток панораму - то не подойдет (читайте выше).

штрек: ну в принципе я и об этом выше писал: ролик (горизонтальный) как бы поделен на две равные части - левую и правую. нажимая (и оставляя зажатой) мышью на эти области, пользователь двигается вперед или назад по таймлайну - проигрывается ролик. в зависимости от того насколько близко курсор к краю ролика (левому/правому) - настолько быстро проигрывается ролик (вперед/назад). грубо говоря это примерно то же самое что реально таскать головку по таймлайну в проекте (во флэше естественно).

надеюсь теперь стало понятнее.


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

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