![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2009
Сообщений: 66
|
Здравствуйте) пытаюсь сделать функционал видеоплеера для внедренного на сцену видео.
Застряла на seek bar addEventListener(Event.ENTER_FRAME, enterFrameHandler); bar.addEventListener(MouseEvent.CLICK, barClickHandler); counter.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); counter.addEventListener(MouseEvent.MOUSE_OUT, mouseUpHandler); function mouseDownHandler(event:MouseEvent):void{ counter.startDrag(true, new Rectangle(bar.x, counter.y,bar.x+ bar.width, 0)); gotoAndPlay( int(totalFrames*(bar.mouseX/bar.width)) ); } function mouseUpHandler(event:MouseEvent):void{ counter.stopDrag(); } function barClickHandler(evt:MouseEvent):void{ gotoAndPlay( int(totalFrames*(bar.mouseX/bar.width)) ); } function enterFrameHandler(evt:Event):void{ counter.x = bar.x - counter.width/2 + bar.width*currentFrame/totalFrames; } Добавлено через 5 часов 48 минут переписала вот так: теперь ползунок не отлипает от движения мыши, после нажатия и отпускания продолжает смотреть на х мыши и кататься по вертикали( stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler); bar.addEventListener(MouseEvent.CLICK, barClickHandler); counter.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); counter.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); function mouseDownHandler(event:MouseEvent):void{ stage.removeEventListener(Event.ENTER_FRAME, enterFrameHandler); counter.x=mouseX; counter.startDrag(false, new Rectangle(bar.x, bar.y, bar.width, 0)); gotoAndPlay( int(totalFrames*(bar.mouseX/bar.width)) ); } function mouseUpHandler(event:MouseEvent):void{ counter.stopDrag(); stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler); } function barClickHandler(evt:MouseEvent):void{ gotoAndPlay( int(totalFrames*(bar.mouseX/bar.width)) ); } function enterFrameHandler(evt:Event):void{ counter.x = bar.x - counter.width/2 + bar.width*currentFrame/totalFrames; } |
|
|||||
|
у вас код вообще странно выглядит
как вы представляете себе одновременную работу этих двух конструкций: и ? |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 66
|
ну...вообще пока ползунок не трогаю - можно кликнуть по любому месту на сик-баре и туда каунтер переместится и перейдет на нужный кадр соответственно, если я нажимаю на ползунок, выключаю слушатель бар, что бы не думал, что по нему кликаю, смещаю куда нужно каунтер, отпускаю мышку и снова включаю слушатель на сик бар.
Может быть я не так ваш вопрос поняла? |
|
|||||
|
Цитата:
Цитата:
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 66
|
а что стейджу сказать сделать? я во втором варианте попыталась стейджу сказать видео пока не проигрывать
Добавлено через 57 минут еще чуток переписала, но теперь другая беда всплыла - если я мышкой с тоненькой полосочки сик бара хоть на пару пикселов по вретикали вылезу - драг на экране не видаен как плавное перемещение объекта, он просто перескакивает в нужный кадр и все. import flash.geom.Rectangle; stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler); bar.addEventListener(MouseEvent.CLICK, barClickHandler); counter.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); bar.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); function mouseOverHandler(event:MouseEvent):void{ counter.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); counter.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);} function mouseOutHandler(event:MouseEvent):void{ counter.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); counter.stopDrag(); } function mouseDownHandler(event:MouseEvent):void{ stage.removeEventListener(Event.ENTER_FRAME, enterFrameHandler); stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); counter.x=bar.mouseX+counter.width/2 //+ bar.width*currentFrame/totalFrames;; counter.startDrag(true, new Rectangle(bar.x, bar.y, bar.width, 0)); gotoAndPlay( int(totalFrames*(bar.mouseX/bar.width)) ); } function mouseUpHandler(event:MouseEvent):void{ counter.stopDrag(); //counter.x= counter.x = bar.mouseX + counter.width/2 //+ bar.width*currentFrame/totalFrames; gotoAndPlay( int(totalFrames*(counter.x/bar.width)) ); stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler); } function barClickHandler(evt:MouseEvent):void{ gotoAndPlay( int(totalFrames*(bar.mouseX/bar.width)) ); } function enterFrameHandler(evt:Event):void{ counter.x = bar.x - counter.width/2 + bar.width*currentFrame/totalFrames; } |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|