Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   вывести процент пройденного расстояния слайдера startDrag (http://www.flasher.ru/forum/showthread.php?t=142794)

Dr_Bra 30.07.2010 19:01

вывести процент пройденного расстояния слайдера startDrag
 
Всем привет, помогите разобраться:

Есть прямоугольник по которому можно таскать слайдер, есть текстовое поле в которое необходимо помещать процент, в зависимости на сколько слайдер перемещен.
То есть начальная точка 0% слайдер стоит в левом крае прямоугольника, как только мы начали слайдер тащить к правой части прямоугольника проценты начали увеличиваться, слайдер уперся в правый край прямоугольника, показываем 100%.

Вот такой код я использую:
Код AS3:

stop();
 
var _bounds=new Rectangle(skrollLine_mc.x, skrollLine_mc.y, 152, 0);
 
sliderBTN_mc.addEventListener(MouseEvent.MOUSE_DOWN, drag)
function drag(evt:MouseEvent):void
{
        sliderBTN_mc.startDrag(false, _bounds);
}
 
stage.addEventListener(MouseEvent.MOUSE_UP, dragSTOP)
function dragSTOP(evt:MouseEvent):void
{
        sliderBTN_mc.stopDrag();
}
 
sliderBTN_mc.dinamyc_txt.text = "кол-во %";


Хемуль 30.07.2010 19:02

2 Dr_Bra:
А где у sliderBTN_mc точка регистрации?

Wolsh 30.07.2010 19:06

Просто использовать обычный драг здесь, простите, неуместно. Надо слушать MOUSE_MOVE после нажатия на движок и таскать его за мышью в обработчике. В этом же обработчике вы будете знать координаты и соотвественно проценты. Имхо, драг это из "дизайнерского" наследия, наподобие Буттона.

Хемуль 30.07.2010 19:11

2 Wolsh:
Так ведь можно и использовать startDrag, и слушать MOUSE_MOVE, и получать координаты.

Dr_Bra 30.07.2010 19:13

вот так получается показывать от 20 до 127
Код AS3:

sliderBTN_mc.addEventListener(Event.ENTER_FRAME, showPercent);
function showPercent(evt:Event):void
{
        sliderBTN_mc.dinamyc_txt.text = sliderBTN_mc.x;
}


Хемуль 30.07.2010 19:17

2 Dr_Bra:
Может просто задействуете стандартный компонент и заскинуете его в соответствии с задачей?

Dr_Bra 30.07.2010 19:22

стандартный компонент – не спортивно ) решение должно быть!

Хемуль 30.07.2010 19:25

2 Dr_Bra:
Почему "не спортивно"? Нормальный набор свойств, методов и событий.
Ну а решение есть, причём очень простое. Но если бы вы прикрепили сюда FLA-файл версии CS3 со своим слайдером, вам бы скорее помогли.

Dr_Bra 30.07.2010 19:41

исходник выложил, посттарадся сохранить в cs3 http://***********/18719003

veisss 30.07.2010 20:09

может так
Код AS3:

var percent:Number = (sliderBTN_mc.x - 20) / (127-20);



Часовой пояс GMT +4, время: 20:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.