Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.04.2008, 12:28
Kukoba вне форума Посмотреть профиль Отправить личное сообщение для Kukoba Найти все сообщения от Kukoba
  № 1  
Ответить с цитированием
Kukoba
 
Аватар для Kukoba

Регистрация: Jun 2005
Адрес: Kiev
Сообщений: 28
Отправить сообщение для Kukoba с помощью ICQ
По умолчанию Логика управления объектами

Ситуация вот в чем.
Имеется мувик с 15-ю кнопками. Каждая из них - это маленький плеер, загружающий mp3 методом new Sound();
Вопрос в следующем: как правильнее всего сделать так, что бы во время старта каждая из кнопок выключала ту, которая играет сейчас и сама начинала играть. То есть в один момент времени должна играть только одна кнопка.
Проблемы в принципе нет. Пробовал вводить глобальную переменную _global.activePlaybackItem. Вроде работает - но есть одна засада - это загрузчик. Бывает, что кнопку выключили в то время когда она еще недогрузилась. И в самый ненужный момент срабатывает событие sound.onLoadComplete() у выключеной кнопки;

Так же пробовал вводить состояния кнопок(sleep, run, loading, playback, shutdown, sleep)
И каждая из кнопок при старте проверяла в цикле все остальные кнопки на предмет состояния. И только при условии когда все были в состоянии sleep - она стартовала.
При этом те кнопки, которые не были в sleep состоянии, она их туда отправляла.

Это тоже вроде работает до тех пор пока играет локально. Только загружаешь все на сервер - начинаются чудеса.....

Скажите плиз - есть какой нибудь правильный распространенный способ сделать простую логику управления объектами. Или это кто как придумает?


З.Ы. Все плееры - инстансы одного мувика.

Старый 22.04.2008, 12:57
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Незнаю, помоему в корне неправильный подход. Я бы делал так:
Создаю 1 (один) обьект с музыкой, 1 (одну) булеву переменную и 1 (один) загрузчик.

Пишу 1 (одну) функцию:
Её логика:
Получает параметр - имя песни. Проверяет булеву переменную - если она true - значит сейчас идет загрузка песни.
Убиваем загрузку песни, если она идет. Если играет какая то песня, я думаю, лучше её не трогать - пусть играет себе (имею ввиду она полностью загружена), а то юзер заскучает.
Присваеваем булевой переменной true.
В загрузчик ставим эту песню - она грузится.
Когда загрузилась - меняем булеву переменную на false, начинаем играть эту музыку (в том единственном обьекте с музыкой), предварительно остановив то что играло ранее.
Конец функции.

Теперь на каждую кнопку вешаем чтобы она вызывала эту функцию с разными параметрами - URL mp3 шек.

Старый 22.04.2008, 15:11
Kukoba вне форума Посмотреть профиль Отправить личное сообщение для Kukoba Найти все сообщения от Kukoba
  № 3  
Ответить с цитированием
Kukoba
 
Аватар для Kukoba

Регистрация: Jun 2005
Адрес: Kiev
Сообщений: 28
Отправить сообщение для Kukoba с помощью ICQ
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Незнаю, помоему в корне неправильный подход. Я бы делал так:
Создаю 1 (один) обьект с музыкой, 1 (одну) булеву переменную и 1 (один) загрузчик.

Пишу 1 (одну) функцию:
Её логика:
Получает параметр - имя песни. Проверяет булеву переменную - если она true - значит сейчас идет загрузка песни.
Убиваем загрузку песни, если она идет. Если играет какая то песня, я думаю, лучше её не трогать - пусть играет себе (имею ввиду она полностью загружена), а то юзер заскучает.
Присваеваем булевой переменной true.
В загрузчик ставим эту песню - она грузится.
Когда загрузилась - меняем булеву переменную на false, начинаем играть эту музыку (в том единственном обьекте с музыкой), предварительно остановив то что играло ранее.
Конец функции.

Теперь на каждую кнопку вешаем чтобы она вызывала эту функцию с разными параметрами - URL mp3 шек.
Пля - ты гений ;-))))) Только я бы передавал функции просто имя кнопки ;-)))) Седни попробую!! Сенкс!!!;-))

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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