PDA

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


ЛОWАДКА
16.07.2002, 22:00
Как сделать кнопку, для скролинга чтоб если я на нее нажал и держу нажатой постоянно срабатывало нажатие, а если отпускаю, то оно прекращается!

ЛОWАДКА
16.07.2002, 22:42
Значит так. Есть мувик в нем лежат 2 кнопки "вниз" в первом и втором кадрах! получается что этот мувик зацикливается, и срабатывает должно срабатывать нажатие постоянно

on (press, dragOver, keyPress "<Down>") {

y=getProperty("_root.cells",_y);
pos= -(_level0.cells.pos-150)+420;

if ((y-40)>pos) {
setProperty ("_root.cells", _y, y-40);
}
if ((y-40)<pos) {
setProperty ("_root.cells", _y, pos);}
}



тут все работает!


когда же я подгружаю этот мувик в другой
_root.backgrnd.back.shape3

и немного подправляю код (см. ниже), то кнопка залипает и скролинг идет от крайней до крайней точки.




on (press, dragOver, keyPress "<Down>") {

y=getProperty("_root.backgrnd.back.shape3.cells",_y);
pos= -(_level0.backgrnd.back.shape3.cells.pos-60)+205;

if ((y-20)>pos) {
setProperty ("_root.backgrnd.back.shape3.cells", _y, y-20);
}
if ((y-20)<pos) {
setProperty ("_root.backgrnd.back.shape3.cells", _y, pos);}

}




Причем залипает событие dragOver, т.к. когда я его убираю-залипания не происходит, но табличка скролится за одно нажатие на один шаг, а должно постоянно скролиться, пока я не отпущу кнопку мыши.

Почему так происходит?

ЛОWАДКА
16.07.2002, 22:45
кстати, только что заметил, что скролинг не от крайней до крайней точки а почти. Тоесть табличка скрлится почти до конца и останавливается и последующим нажатием она доскроливается!

Nox Noctis
17.07.2002, 02:12
какой getProperty ?.. какой setProperty ?..
МХ на дворе !.. :))

и я не очень понял чего ты хочешь добиться...

...нужно постоянное действие - значит в любом случае нужно событие onEnterFrame или onClipEvent(enterFrame)... и вопрос только в том как это удобнее организовать...

в МХ правда можно еще сделать через setInterval...

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

derhab
17.07.2002, 02:39
Держи Рогопил:) Noctis, однако, так все хорошо объяснил, что я не удержался, чтоб не попробовать тут же :)))

Nox Noctis
17.07.2002, 05:55
вот-вот :))
это оно и есть... только в очень простом варианте :))

кстати можно обойтись и без флажков :)
в пятерке:
делаем где угодно
onClipEvent (enterFrame) {
action();
}
...на кнопке пишем:
on (press) {
какой_то_клип.action = link;
}
on (release) {
delete какой_то_клип.action;
}
...где link - это ссылка на заранее заготовленную функцию
(функцию скролла например)

...для МХ все то же самое, только не нужн заранее заготавливать клип с ентерФреймом... ведь можно написать onEnterFrame = function () {....}

ЛОWАДКА
17.07.2002, 12:35
Сенкс! А по поводу setProperty getProperty так это у меня привычка! Надо, надо исправляться!