Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с ползунком, как изменить громкость 
:(
    Опции темы
acdcee
Дата 3.1.2008, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.7.2007

Репутация: 1
Всего: 1



У меня есть две картинки с фотошопа конвернутые в button (Convert symbol)

одна кнопка к примеру поле ограничитель 
вторая кнопка ползунок

позунок двигаетца от 140 до 170 по горизонтальным координатам (startDrag(this,true,140,39,170,39))

У меня вопрос, как сделать так что бы от перво начальной позиции ползунка при перемещении в право к примеру значение перменной x_coor увеличивалось на 10 от 0 до 100 и на оборот при перемещении ползунка от конечной позиции уменьшалось на 10 от 100 до 0

Такое реализовано в Медиа Контроллере

Есть ли у кнопки такое событие как mousemove или что нить подобное??


Я в таком деле начинающий, перемещение то я реалезовал, ползунок идет строго но не как не получается реализовать то что см. выше написаное


Буду очень признателен за помощь и разъеснения проблемы
PM MAIL   Вверх
acdcee
Дата 4.1.2008, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.7.2007

Репутация: 1
Всего: 1



Помогите с этим вопросом плиззз, я сеня весь день себе голову ломал, почти сломал а ничего не получилось  smile 
PM MAIL   Вверх
Maksys
Дата 5.1.2008, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



StartDrag 
и 
stopDrag
это события у объктов есть...  ща накидаю пример


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
Maksys
Дата 5.1.2008, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



Ну вот нашел как это делаеться с регулятором левого и правого динамика
Код

var bar_width:Number = 200;
this.createEmptyMovieClip("bar_mc", this.getNextHighestDepth());
with (bar_mc) {
    lineStyle(4, 0x000000);
    moveTo(0, 0);
    lineTo(bar_width+4, 0);
    lineStyle(0, 0x000000);
    moveTo((bar_width/2)+2, -8);
    lineTo((bar_width/2)+2, 8);
}
bar_mc._x = 100;
bar_mc._y = 100;

this.createEmptyMovieClip("knob_mc", this.getNextHighestDepth());
with (knob_mc) {
    lineStyle(0, 0x000000);
    beginFill(0xCCCCCC);
    moveTo(0, 0);
    lineTo(4, 0);
    lineTo(4, 10);
    lineTo(0, 10);
    lineTo(0, 0);
    endFill();
}
knob_mc._x = bar_mc._x+(bar_width/2);
knob_mc._y = bar_mc._y-(knob_mc._height/2);

knob_mc.left = knob_mc._x-(bar_width/2);
knob_mc.right = knob_mc._x+(bar_width/2);
knob_mc.top = knob_mc._y;
knob_mc.bottom = knob_mc._y;

knob_mc.onPress = function() {
    this.startDrag(false, this.left, this.top, this.right, this.bottom);
};
knob_mc.onRelease = panSound;
knob_mc.onReleaseOutside = panSound;

function panSound():Void {
    this.stopDrag();
    var multiplier:Number = 100/(this.right-this.left)*2;
    var pan:Number = (this._x-this.left-(bar_width/2))*multiplier;
    my_sound.setPan(pan);
    pan_txt.text = my_sound.getPan();
};

var my_sound:Sound = new Sound();
my_sound.loadSound("song.mp3", true);
this.createTextField("pan_txt", this.getNextHighestDepth(), knob_mc._x, knob_mc._y+knob_mc._height, 20, 22);
pan_txt.selectable = false;
pan_txt.autoSize = "center";
pan_txt.text = my_sound.getPan();



--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
acdcee
Дата 5.1.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.7.2007

Репутация: 1
Всего: 1



Спасибо за помощь, очень признателен.
Получился у тебя Maksys,  не плохой регулятор баланса  smile 

Как и у тебя тока я сделал чуть по другому.
На OnMouseMove в MovieClip объекте (подложка которая конвернута в MovieClip)
Код

//регулатор - ползунок
var vol_src:mx.controls.Button;
// сам муви клипер имя его к примеру sound_field 

//поехали :)

//xCol переменная в которой заложин диапазон правда он ограничен к примеру если кнопка по 
//иксу начинается на 120 то предел ее 147 тогда считывается от 0 до 100
var xCol:Number = (((vol_src._x-20.95)*0.4)-40)*10;
//var soundMedia:Sound = new Sound();
vol_src.onPress = function() {
                this._y = this.volY;
    startDrag(this, true, 120, 30, 147, 30);
    this.origY = this._y;
    volParam.onMouseMove = function() {
        xCol = (((vol_src._x-20.95)*0.4)-40)*10;
        if (xCol>=0 && xCol<=101) {
            var vol:Number = parseInt(xCol.toString(), 10);
            soundMedia.setVolume(vol);
        }
        return true;
    };
};
vol_src.onRelease = function() {
    stopDrag();
    volParam.onMouseMove = function() {
    return false;
    };
    this._y = this.origY;
};



Пример не очень может быть но работает и громкость плавная

У меня другой вот вопрос терь, к примеру я ставлю прогресс бар чтобы посмотреть сколько времени идет трек. Через setInerval по одной секунде все работает нормально
Но если переключить на другой трек тогда все сбиваеца, т.е трек переключается а вот время со старого остаеца, можно ли как нить тут исправить это??? т.е что бы при переключении треков время на ноль уходило и заного начинала отсчитывать!!!!


и еще один такой момент у меня переменная определена не на кнопки а на фрайме, к примеру var n:Number = 100; то можно ли ее как нить в кнопку перенести???

Добавлено через 7 минут и 6 секунд
Но var xCol:Number = (((vol_src._x-20.95)*0.4)-40)*10; работает тогда когда координата vol_src._x начинает на 120 
PM MAIL   Вверх
Maksys
Дата 5.1.2008, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



acdcee, ты задаешь очень глупые вопросы, кабуд-то не читал документацию по программированию
1. зачем юзать сет интервал? для этого в классе Sound есть методы duration (длина трека в мс) и position (текущая позиция в мс)
2. чтобы передать данные объекту в AS это делаеться легко:
Код

var cifra:Number=10;
knopa_btn.timer=cifra;

http://livedocs.adobe.com/flash/9.0/main/00002125.html

Это сообщение отредактировал(а) Maksys - 5.1.2008, 23:56


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
acdcee
Дата 6.1.2008, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.7.2007

Репутация: 1
Всего: 1



Код

trace(soundMidia.duration);


показывает ноль

Ладно буду разбиратся
PM MAIL   Вверх
Maksys
Дата 6.1.2008, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



ты ее юзаешь после полной загрузки мп3шки?


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
acdcee
Дата 6.1.2008, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.7.2007

Репутация: 1
Всего: 1



Спасибо все понял.... постараюсь больше тупых и глупых вопросов не задавать  smile  smile  smile

Добавлено через 1 минуту и 19 секунд
да сначала писал mysound.loadSound("1.mp3",false)

а потом mysound.position and mysound.duration
PM MAIL   Вверх
Maksys
Дата 7.1.2008, 06:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



Нужно отловить событие о том, что загрузка завершена:
Код

// create a new Sound object
var my_sound:Sound = new Sound();
// if the sound loads, play it; if not, trace failure loading
my_sound.onLoad = function(success:Boolean) {
if (success) {
my_sound.start();
trace(my_sound.duration());
status_txt.text = "Sound loaded";
} else {
status_txt.text = "Sound failed";
}
};
// load the sound
my_sound.loadSound("song1.mp3", true);
http://livedocs.adobe.com/flash/9.0/main/00002137.html


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 1,2 | Следующая тема »


 




[ Время генерации скрипта: 0.0627 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.