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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.05.2011, 16:37
Max360 вне форума Посмотреть профиль Отправить личное сообщение для Max360 Найти все сообщения от Max360
  № 1  
Ответить с цитированием
Max360
[+3 17.04.11]

Регистрация: Mar 2011
Сообщений: 168
По умолчанию Класс со статическими методами

Решил сделать класс Music. В нем статические методы
add_music(name) - добавить песню
play_one_sound(name) - играть одиночный звук
play_music(name) - играть музыку
pause_music(name) - остановить музыку.
В конструкторе хочу загрузить музыку пользуясь add_music(name). Потом в программе пользуюсь классом не создавая его экземпляра. Вообщем, вроде получается удобно. Но есть одна проблемка, т.к. экземпляр класса я не создаю, его конструктор никогда запускается - Чем можно его заменить??? Мне нужно один раз в программе добавить песни. Думал сделать еще один статический метод и запустить его где-то в программе - но считаю это не совсем красивым подходом)))

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Цитата:
Думал сделать еще один статический метод и запустить его где-то в программе - но считаю это не совсем красивым подходом)))
Отчего же? Можно добавить метод init (название вполне благозвучно) и вызвать его где надо.

Старый 31.05.2011, 17:25
Max360 вне форума Посмотреть профиль Отправить личное сообщение для Max360 Найти все сообщения от Max360
  № 3  
Ответить с цитированием
Max360
[+3 17.04.11]

Регистрация: Mar 2011
Сообщений: 168
т.е. более красивого подхода нет! Ну да ладно, не столь важно ) А еще есть вопросик, когда начал использовать этот класс у меня музыка работает с отставанием. Т.е. нажал на клавишу, анимация пошла а звук запуститься через довольно ощутимое время, допустим пару секунд ) Из-за чего это может быть?

Старый 31.05.2011, 17:26
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 4  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
У статик классов есть как бы статик конструктор
Код AS3:
package  {
	/**
	 * ...
	 * @author Anton Nefjodov
	 */
	public class Test {
 
		public static function set preved(value:int):void {
			trace("preved", value);
		}
 
		{
			trace("intied");
		}
 
	}
 
}
Если вы в напишие Test.preved = 2; , то сначала сработает т.н. статик конструктор...и сначала вы увидете в трейсе "inited"
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 31.05.2011, 17:30
Max360 вне форума Посмотреть профиль Отправить личное сообщение для Max360 Найти все сообщения от Max360
  № 5  
Ответить с цитированием
Max360
[+3 17.04.11]

Регистрация: Mar 2011
Сообщений: 168
и он будет вызываться каждый раз при вызове любого метода?

Старый 31.05.2011, 17:33
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 6  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
только 1 раз
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 31.05.2011, 17:34
Max360 вне форума Посмотреть профиль Отправить личное сообщение для Max360 Найти все сообщения от Max360
  № 7  
Ответить с цитированием
Max360
[+3 17.04.11]

Регистрация: Mar 2011
Сообщений: 168
только один раз при первом обращении к любому методу?

Старый 31.05.2011, 17:35
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 8  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
елки-палки =) ну не попробовать что-ли самому?
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 31.05.2011, 17:38
Max360 вне форума Посмотреть профиль Отправить личное сообщение для Max360 Найти все сообщения от Max360
  № 9  
Ответить с цитированием
Max360
[+3 17.04.11]

Регистрация: Mar 2011
Сообщений: 168
уже попробовал, спасибо огромное, это именно то что мне нужно. Я интересовался для общего развития, т.к. ранее не видел такого ))) А проблема с задержкой звука, - не подскажите в чем дело?

Старый 31.05.2011, 17:40
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 10  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
на самом деле лично я это не использую...куда удобнее вызвать Test.init(); имхо
__________________
Flash Developer
Папа TDP4 Team Battle

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

Теги
статические методы

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

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


 


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


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