PDA

Просмотр полной версии : прокрутка при наведении


Ar4ibald
01.11.2007, 12:12
Всем привет. Нужно сделать две стрелки, при наведении на которых происходит прокрутка.
Прокрутку я сделал, но как ее остановить?При наведении - перемещаеться, а когда забираешь мышь - оно продолжает двигаться. Подскажите, что не так.


niz.onRollOver=function(){
setInterval(nizz,10);
}

verh.onRollOver=function(){
setInterval(verhh,10); }

niz.onRollOut=function(){

}

verh.onRollOut=function(){
//clearInterval();
}

function verhh(){
mc2._y--; };

function nizz(){
mc2._y++; };

Валиант
01.11.2007, 13:36
niz.onRollOver=function(){
inter=setInterval(nizz,10);
}
verh.onRollOver=function(){
inter=setInterval(verhh,10); }

niz.onRollOut=function(){
clearInterval(inter);
}

verh.onRollOut=function(){
clearInterval(inter);
}

function verhh(){
mc2._y--; };

function nizz(){
mc2._y++; };

Ar4ibald
01.11.2007, 13:51
спасибо огромное,все работает!!!

а еще вопрос.
Как сделать так, чтоб когда мышкой двигаешь вверх, то мувик плил вниз и наоборот. Как это правильно реализовать?

Валиант
01.11.2007, 14:19
почитай про _xmouse, _ymouse

что-то типо этого
f=Stage.height/2
onMouseMove =function(){
if (_ymouse>f){mc2._y++; }
if (_ymouse<f){mc2._y--; }
updateAfterEvent();

}

Ar4ibald
01.11.2007, 14:34
Валиант, да именно так! Спасибо.По скрипту мувик в зависимости от места положения на сцене двигаеться то вверх, то вниз, но на самом деле получаеться другая картина. Почему так?

Валиант
01.11.2007, 15:21
Я привел пример как это можно реализовать по скрипту ясно, что когда курсор мыши на верхней половине сцены, мувик движется вверх, когда курсор на нижней - мувик движется вниз...

Futury
01.11.2007, 16:10
Ar4ibald, а Вы по возможности не могли бы этот исходник скролла выложить, я как раз мучаюсь с этой проблемой.....очень прошу!

Мыкыта
01.11.2007, 16:39
мой вариант
var speed:Number = 2; // скорость прокрутки
var mov:Number;

function slide(mask:MovieClip, movie:MovieClip):Void {
this[mc_mask] = mask;

trace(mask._ymouse + " " + mask._height / 2)
if (this[mc_mask].hitTest(_xmouse, _ymouse, true)) {
mov = (mask._ymouse - mask._height / 2) / speed;
trace(mask._ymouse);
trace(mov);
movie._y -= mov;

if (movie._y > mask._y) {
movie._y = mask._y;
}
if (movie._y + movie._height < mask._y + mask._height) {
movie._y = (mask._y + mask._height) - movie._height;
}
}
}


кладем код в _root вызываем функцию с помощью onEnterFrame с параемтрами mask - это область где срабатывет прокрутка, movie - то что скролим

Futury
01.11.2007, 17:11
А исходник можно......плизз

Ar4ibald
01.11.2007, 17:31
вот держи

Ar4ibald
01.11.2007, 18:01
Мыкыта,что-то надо, спасибо!