Felicast
06.07.2008, 19:25
нужно организовать класс скролла. (при движении одного мувика (scroller), второй(mainHold) двигался в другом направлении)
не знаю на какой Event повесить изменение координат скроллируемого(mainHolder) мувика. пока вешаю на MOUSE_MOVE, но когда мышь находится не над скроллом(scroller), это событие не срабатывает :(
вот код:
public class Scrolling extends MovieClip
{
private var mainHold:MainHold;
private var mDown:Boolean;
public function Scrolling()
{
mDown = false;
mainHold = (parent.getChildByName("mainHold") as MainHold);
scroller.addEventListener(MouseEvent.MOUSE_DOWN, scrollerMouseDownHandler);
scroller.addEventListener(MouseEvent.MOUSE_UP, scrollerMouseUpHandler);
scroller.addEventListener(MouseEvent.MOUSE_MOVE, scrollerMouseMoveHandler);
}
private function scrollerMouseDownHandler(event:MouseEvent):void
{
mDown = true;
scroller.startDrag(false, new Rectangle(scroller.x, 0, 0, 550 - scroller.height));
}
private function scrollerMouseMoveHandler(event:MouseEvent):void
{
if (mDown)
{
mainHold.y = -(scroller.y * mainHold.height) / this.height;
}
}
public function scrollerMouseUpHandler(event:MouseEvent):void
{
mDown = false;
scroller.stopDrag();
}
}
если есть более разумная идея, с удовольствием выслушаю
не знаю на какой Event повесить изменение координат скроллируемого(mainHolder) мувика. пока вешаю на MOUSE_MOVE, но когда мышь находится не над скроллом(scroller), это событие не срабатывает :(
вот код:
public class Scrolling extends MovieClip
{
private var mainHold:MainHold;
private var mDown:Boolean;
public function Scrolling()
{
mDown = false;
mainHold = (parent.getChildByName("mainHold") as MainHold);
scroller.addEventListener(MouseEvent.MOUSE_DOWN, scrollerMouseDownHandler);
scroller.addEventListener(MouseEvent.MOUSE_UP, scrollerMouseUpHandler);
scroller.addEventListener(MouseEvent.MOUSE_MOVE, scrollerMouseMoveHandler);
}
private function scrollerMouseDownHandler(event:MouseEvent):void
{
mDown = true;
scroller.startDrag(false, new Rectangle(scroller.x, 0, 0, 550 - scroller.height));
}
private function scrollerMouseMoveHandler(event:MouseEvent):void
{
if (mDown)
{
mainHold.y = -(scroller.y * mainHold.height) / this.height;
}
}
public function scrollerMouseUpHandler(event:MouseEvent):void
{
mDown = false;
scroller.stopDrag();
}
}
если есть более разумная идея, с удовольствием выслушаю