PDA

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


TanaTiX
20.04.2008, 15:02
Как запустить кусок кода при клике мыши именно над нужным объектом?
onMouseDown срабатывает при клике в любой области, какие бы я не вводил пути...

etc
20.04.2008, 15:04
onPress?

TanaTiX
20.04.2008, 15:27
Чувствую, придется описывать ситуацию полностью.
Я создаю скроллбар. При этом при нажатии на ползунок должно выполняться его перемещение, а при отпускании - соответственно остановка (все перемещения и рассчеты собственно скролла работают правильно, недочет с нажатиями обнаружился при тестировании). При этом нужно что б факт нажатия работал только над ползунком, а перемещение ползунка - после нажатия не зависимо от положения мыши, собственно как и отпускание. onPress поэтому не подходит (или я его не правильно применяю)
Вот мой изначальный код.
_root.newstext.scrollmc.onRollOver = function() {
_root.newstext.scrollmc.onMouseDown = function() {
startDrag();//параметры для ползунка
_root.newstext.scrollmc.onEnterFrame = function() {
//взаимодействие со скроллируемой областью (мувик)
};
};
};

_root.newstext.scrollmc.onMouseUp = function() {
delete _root.newstext.scrollmc.onEnterFrame;
stopDrag();
};

olexandr
20.04.2008, 15:56
вот выдержка из моего скроллбара
выложил бы исходник, но еще не дописал


scroll.dragger_mc.onPress = function() {
startDrag(this, false, this._x, beginY, this._x, endY-this._height);
};
scroll.dragger_mc.onRelease = scroll.dragger_mc.onReleaseOutside=function () {
this.stopDrag();
};
function dragging() {
var percent:Number = mask._height/content._height;
if (percent<1) {
scroll._visible = true;
scroll.dragger_mc._height = (endY-beginY)*percent;
content._y = mask._y+(mask._height-content._height)*(scroll.dragger_mc._y-beginY)/(endY-beginY-scroll.dragger_mc._height);
} else {
scroll._visible = false;
}
}

TanaTiX
20.04.2008, 16:14
olexandr, спасибо, помогло

ЗЫ. На будущее там при создании может быть небольшая запара с вычислением формулы зависимости движения ползунка от мувика (если они находятся в разных координатах). Если будет нужно - пиши в личку (тему просто могу пропустить), поделюсь.

olexandr
21.04.2008, 22:27
спасибо, но пока проблем нету
да и решать алгебраические задачки люблю сам :)