прокрутка панели меню прокручивается, даже если мышь не находится над панелью - так что другой контент на стадии прокрутки также - PullRequest
0 голосов
/ 12 января 2009

Я не могу ограничить этот код для прокрутки только front_mc и back_mc, в front_mc есть вложенные кнопки, которые работают и показывают контент при нажатии - но движение мыши фиксируется постоянно, поэтому и содержимое меню получает прокручивается, когда мышь перемещается. Пожалуйста, помогите мне, ребята, я не в состоянии справиться с этим.

root.addEventListener(MouseEvent.MOUSE_MOVE,f);

var t: Timer = новый таймер (40,0); t.addEventListener (TimerEvent.TIMER, moveF); function f (e: MouseEvent) { t.stop (); t.start (); } переменная скорость: число = .9;

функция moveF (e: TimerEvent) { front_mc.x = скорость front_mc.x + (1-скоростной) (stage.stageWidth-front_mc.width) root.mouseX / stage.stageWidth; back_mc.x = скорость back_mc.x + (1-скорость) * (stage.stageWidth-back_mc.width) * root.mouseX / stage.stageWidth; if (Math.abs (front_mc.x- (stage.stageWidth-front_mc.width) * root.mouseX / stage.stageWidth) <1 && Math.abs (back_mc.x- (stage.stageWidth-back_mc.width) * root .mouseX / stage.stageWidth) <1) { front_mc.x = (stage.stageWidth-front_mc.width) * root.mouseX / stage.stageWidth; back_mc.x = (stage.stageWidth-back_mc.width) * root.mouseX / stage.stageWidth; t.stop (); </p>

}
e.updateAfterEvent();

}

Ответы [ 3 ]

0 голосов
/ 16 января 2009

решена.

начиная с _root.gotoAndStop (); из AS1-2 был удален, самый простой способ в Actionscript3 AS3 для ссылки, например. Кнопка внутри mc для вызова контента на сцену -

MovieClip (корень) .gotoAndStop ( "marker1");

Я думал, что у меня нет мувиклипа на основной временной шкале MTL, но он действительно работает, установите его как действие для вложенных кнопок, и вы свободны от сюрпризов: как в моем случае

Я вложил прокручиваемое меню (front_mc) в mc на MTL, и контент вызывается на главной сцене, без перехвата моего перемещения front_mc

0 голосов
/ 07 октября 2009

Вы используете слишком много слов и кода. Вы можете добавить простое исключение if (hitTest).

0 голосов
/ 12 января 2009

к сожалению, это не меняет поведение :( но большое спасибо за этот совет

что он делает и должен делать: этот front_mc прокручивает меню по горизонтали, если mousesY равен 90 и 250 (его ряд кнопок длиннее, чем сцена), кнопки и их общая временная шкала вложены как menu_mc в front_mc.

если я перехожу в сторону меню и его прокрутки влево / вправо и нажимаю кнопку, содержимое отображается, но когда я возвращаюсь в меню и прокручиваю его, то и нарисованное содержимое аналогично меню (синхронизировано) ). Я, должно быть, организовал это неправильно.

front_mc.addEventListener (MouseEvent.MOUSE_MOVE, е); var t: Timer = новый таймер (30,0); t.addEventListener (TimerEvent.TIMER, moveF);

function f (e: MouseEvent) { if (root.mouseY> 90 && root.mouseY <250) { t.start (); } еще { t.stop (); } } переменная скорость: число = .9; function moveF (e: TimerEvent) { front_mc.x = скорость <em>front_mc.x + (1-скоростной) (stage.stageWidth-front_mc.width) root.mouseX / stage.stageWidth; back_mc.x = скорость back_mc.x + (1-скорость) * (stage.stageWidth-back_mc.width) * root.mouseX / stage.stageWidth; if (Math.abs (front_mc.x- (stage.stageWidth-front_mc.width) * root.mouseX / stage.stageWidth) <1 && Math.abs (back_mc.x- (stage.stageWidth-back_mc.width) * root .mouseX / stage.stageWidth) <1) { front_mc.x = (stage.stageWidth-front_mc.width) * root.mouseX / stage.stageWidth; back_mc.x = (stage.stageWidth-back_mc.width) * root.mouseX / stage.stageWidth; t.stop (); </p>

} e.updateAfterEvent (); }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...