PDA

Просмотр полной версии : не двигать мышкой 1 минуту


Panopticum
23.06.2005, 18:53
добрый день всем участникам.

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

Sh@man
23.06.2005, 18:58
работай с таймаутами

pogga
23.06.2005, 18:59
ну, например, можно засекать координаты мышки и периодически их проверять, если они не изменялись какое то время (через сэтинтервал или по количеству сделаных проверок) , то запускать этот превью-режим..

Panopticum
23.06.2005, 19:03
pogga, а как? есть скрипт?

pogga
23.06.2005, 19:22
не, скрипта есессно нет ) - сам напиши ,)
попробуй сделать клип, который будет выполнять скрипт, раз в сколькото кадров. в скрипте: сохранение координат мыши в переменные, которые каждый раз перезаписываются, сдвигаясь на одну. то есть чтобы в десяти переменных (5 х и 5 у) всегда были последние десять результатов.
потом, сравниваешь их соответственно по 5, если обе пятерки соответственно равны друг внутри друга - включаешь превью-режим

netstuff
23.06.2005, 19:28
_root.moveMenus = function(onlyClear) {
clearInterval(_root.interval);
if(!onlyClear) trace("Куда мышь потащил, гат!!!!");
}

_root.interval = setInterval(_root.moveMenus(), 60000);
_root.onMouseMove = function() {
_root.moveMenus(true);
}


типа того :D :D :D
сам доперешь?

pogga
23.06.2005, 19:34
[CODE]..типа того..

ну эт ты воще по-папски написал - даже кодить ниче не надо, глюки с багами отлавливать и всё такое.. так же неинтересно !! %) так жить низзя !!! ))

Dvaman
23.06.2005, 19:54
Если не особо придиратся к коду то можно и так

wait = 2000;
myFun = function () {
trace("Команда на запуск к-л действия, например Play() для мувиклипа");
clearInterval(id);
};
this.onMouseMove = function() {
xm = _xmouse;
ym = _ymouse;
clearInterval(id);
this.onEnterFrame = function() {
if (xPred == xm && yPred == ym) {
id = setInterval(myFun, wait);
delete this.onEnterFrame;
}
xPred = xm;
yPred = ym;
};
};

Штрек
23.06.2005, 21:03
С getTimer()......
function zadergka(kol_sek) {
mc._visible = 0;//действие
var g = getTimer();
this.createEmptyMovieClip('obr', 999);
obr.onEnterFrame = function() {
if ((getTimer()-g)/1000>kol_sek) {
mc._visible = 1;//действие
}
};
this.onMouseMove = function() {
g = 0;
zadergka(kol_sek);
mc._visible = 0;//действие

};
}
zadergka(5);//5 секунд

silin
23.06.2005, 21:23
вариант:
var stay=1;
this.onMouseMove=function(){stay=0}
var id=setInterval(function(){
if(stay){
trace('нет никаго, можно запускать..');
clearInterval(id);
}else stay=1;
},2000)

Штрек
23.06.2005, 21:33
вариант:
var stay=1;
this.onMouseMove=function(){stay=0}
var id=setInterval(function(){
if(stay){
trace('нет никаго, можно запускать..');
clearInterval(id);
}else stay=1;
},2000)
На тебя не похоже -
недоделано - вариант однократного использования....
Рекурсию бы надо....

silin
23.06.2005, 21:55
ему же тока раз запусть надо..

Dvaman
24.06.2005, 04:30
ему же тока раз запусть надо..
Как я понял запускать надо каждый раз после того как курсор находится на одном и том же месте в течение определенного время. Что-то типа скринсервера на компутере срабатывающего при простое системы.

Panopticum
24.06.2005, 13:43
Dvaman, да все верно так и нужно.
как только двинул мышом от все останавливается, а если не двигать 1мин. то снова начинает проигрываться.
А можно маленький исходник?

Штрек
24.06.2005, 15:02
так уже выложили несколько вариантов -
копируй код в кадр и наслаждайся.......

silin
24.06.2005, 18:41
Dvaman, да все верно так и нужно.
как только двинул мышом от все останавливается, а если не двигать 1мин. то снова начинает проигрываться.
А можно маленький исходник?
в таком разе можно просто не очищать интервал и все
var stay=1;
this.onMouseMove=function(){
presentation.stop();
stay=0;
}
var id=setInterval(function(){presentation[stay?'play':'stop']();stay=1;},1000);

Dvaman
25.06.2005, 21:05
тебе осталось только вставить то что будет запусткаться по истечении заданного времени.

7thsky™
25.06.2005, 21:37
a = {};
a.intID = setInterval (a, 'nextStep', 300000);
Mouse.addListener (a);
a.nextStep = function () {
clearInterval (this.intID);
// тут написать все что нужно
}
a.onMouseMove = function () {
this.intID = setInterval (this, 'nextStep', 300000);
}

seifip
07.07.2005, 00:04
U menja rabotujut toljko scripty ot Dvamana i ot silina no zato efekt klasnyj!

Штрек
07.07.2005, 00:31
U menja rabotujut toljko scripty ot Dvamana i ot silina no zato efekt klasnyj!
Обижаешь не хило.........

MIX-er
07.07.2005, 06:14
Обижаешь не хило.........
ты очепятился
varid != var id

Штрек
07.07.2005, 23:20
ты очепятился
varid != var id
У меня было -
function zadergka(kol_sek) {
mc._visible = 0;//действие
var g = getTimer();
this.createEmptyMovieClip('obr', 999);
obr.onEnterFrame = function() {
if ((getTimer()-g)/1000>kol_sek) {
mc._visible = 1;//действие
}
};
this.onMouseMove = function() {
g = 0;
zadergka(kol_sek);
mc._visible = 0;//действие

};
}
zadergka(5);//5 секунд

Всё работает как из пушки........
Где тут varid != var id????

MIX-er
08.07.2005, 01:00
сори..
с силином варианты перепутал...

nuran
08.07.2005, 02:38
АААААААААААААААААААААААААААААААААААААААААААА

узнаю поделки Штрека, kol_sek, zadergka :D

Штрек
08.07.2005, 03:14
Скоро начну писать -
кол_сек
задержка
К счастью 7ка это позволяет........... :p

silin
08.07.2005, 18:56
сори..
с силином варианты перепутал...
ты вобще чего-то перепепутал:
никогда не писал varid != var id
и var id != var id тоже :D

MIX-er
09.07.2005, 06:14
var stay=1;
this.onMouseMove=function(){stay=0}
var id=setInterval(function(){
if(stay){
trace('нет никаго, можно запускать..');
clearInterval(id);
}else stay=1;
},2000)

ну лана не прав...
var id=setInterval(function(){
ты писал...
если смотреть на это в коде ну на форуме пробела не заметно между вар и айди...