Форум 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)
-   -   Полоса превьюшек, XML, остановить прокрутку. (http://www.flasher.ru/forum/showthread.php?t=91557)

Varnol 02.02.2007 14:13

Полоса превьюшек, XML, остановить прокрутку.
 
Привет. Помогите пожалуйста с такой проблемой:
Есть исходник галереи: http://www.kirupa.com/developer/mx20...llery_2004.zip

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

Код:

on (rollOver){

this.onEnterFrame = function (){
{thumbnail_mc._x -=5;
}
}
}
on (rollOut){
delete this.onEnterFrame
}

Работает как и должна, но, в отличие от оригинального исходника, полоса с превьюшками не прекращает "ехать" даже когда превьюшки "кончаются".
(Она останавливается, когда убираешь мышь с кнопки, но нужно, чтоб останавливалась даже если этого не делать, если справа или слева выехала последняя превьюшка...
Я не могу вкурить как это реализовано в оригинальной флэшке =(
Важно - колличество превьюшек зарание не известно. :o

CorC 02.02.2007 14:19

все правильно у вас стоит непонятная проверка "<100"
а вы попробуйте поставить что то типа:
Код:

if (thumbnail_mc._x>-thumbnail_mc._width){
и уже неважно скока тап превью

Varnol 02.02.2007 14:26

Да, я счас подредактировал и вообще убрал проверку чтоб не путать лишний раз, но вы успели раньше... Почему-то, то что вы предложили, не работает. Хотя и должно =( Не тормозится.

CorC 02.02.2007 14:46

исходник не качал, потому предложил навскидку
но по логике правильно, дальше просто не видел чего...

Varnol 02.02.2007 15:04

Там в исходнике это реализовано collision... А я не фтыкаю пока как.
Т.е. если мувиклип соприкасается с тестовым прозрачным клипом, то происходит движение. Если нет - то ничег оне происходит. =__=
как бы это записать.

CorC 02.02.2007 15:25

я не нашел в том исходнике не одного скрола

а то что я писал не работает потому как оно останавливается
когда уже становится невидной
попробуйте width+100 хотя б

Varnol 02.02.2007 15:58

Я тут вот что замыслил:
Код:

on (rollOver){
_root.xpos = getProperty(thumbnail_mc, _x);
_root.xpos2 = getProperty(hit_right, _x);
_root.dist = xpos2-xpos

hit_right лежит справа от полосы прокрутки превьюшек, это прозрачный мувик.

Когда dist равно нолю - последний тумбнейл аккурат уползает за границу. То есть я должен написать что-то вроде

Если _root.dist<100, то всем стоять и не двигаться...
Но так как в синтаксисе флэша я полный лох, т оя даже не понимаю как это правильно записать, что бы проверить =(

Мне нужен хэлп...

CorC 02.02.2007 16:22

вот именно, вам нужен "хелп"
или раздел "вакансии"
или "книга по AS2"

Varnol 02.02.2007 16:55

Ну я ведь и пишу в раздел для чайников, что бы научиться:victory:

Вот так она (полоса с превьюшками) останавливается, но только если отпустить мышь, т.е. отпускаешь мышь и - если условие соблюдено, прокрутка прекращается и больше не начинается...
Куда-то я по-ходу не туда проверку запихал..

Код:

on (rollOver){
_root.xpos = getProperty(thumbnail_mc, _x);
_root.xpos2 = getProperty(hit_right, _x);
_root.dist = xpos2-xpos
trace(dist);
 {this.onEnterFrame = function() {{
thumbnail_mc._x +=5;
};
}
}
if (dist<=200){
delete this.onEnterFrame
}}
on (rollOut){
delete this.onEnterFrame
}



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

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