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

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

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

Регистрация: Mar 2011
Сообщений: 168
По умолчанию почему-то не происходит событие SOUND_COMPLETE. В чем проблема?

почему-то не происходит событие SOUND_COMPLETE. В чем проблема?
Код AS3:
snd.addEventListener(Event.SOUND_COMPLETE, onSound_Complate);
function onSound_Complate(e:Event){
	pausePos = 0;
}

Старый 27.03.2011, 22:32
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
А trace() в обработчике срабатывает?

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
насколько помню на SoundChannel вешается, а не на Sound
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Mar 2011
Сообщений: 168
Нет! воспроизведение прекращается, а в событие не заходит вообще!

Добавлено через 1 минуту
пробовал на SoundChannel, все равно не происходит (((

Старый 27.03.2011, 22:37
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 5  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
покажите больше кода..где получаете ссылку на ченнел и подписываете его
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Mar 2011
Сообщений: 168
хотя нет, заходит, извиняюсь, спасибо )))

Добавлено через 1 минуту
блин, все-равно не работает, вот зараза ((((

Добавлено через 6 минут
Код AS3:
var snd:Sound = new Sound(new URLRequest("Tank_rolling.mp3"));
var channel:SoundChannel = new SoundChannel();
var pausePos:Number = channel.position;
..........................................................
Код AS3:
	if (f_Up) {
		if(!isPlaying){
			channel = snd.play(pausePos);
			isPlaying = true;
		}
 
		tank.foot.wheels.play(); //запускаем анимацию колёс
		tank.x += step * Math.sin(dirAngle); //проекция скорости на ось x 
		tank.y -= step * Math.cos(dirAngle); //проекция скорости на ось y
	} else if (f_Down) {
		if(!isPlaying){
			channel = snd.play(pausePos);
			isPlaying = true;
		}
 
		tank.foot.wheels.play();
		tank.x -= step * Math.sin(dirAngle); //идём
		tank.y += step * Math.cos(dirAngle); //назад
	}else{
		pausePos = channel.position;
		channel.stop();
		isPlaying = false;
		tank.foot.wheels.stop();
	}
Добавлено через 21 минуту
все разобрался, оказывается слушатель события нужно было добавить в обработчик события Enter_Frame в котором у меня все это происходило. Пока тяжело понимаю почему именно так, но работает )))))

Старый 27.03.2011, 23:06
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 7  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
все разобрался, оказывается слушатель события нужно было добавить в обработчик события Enter_Frame в котором у меня все это происходило. Пока тяжело понимаю почему именно так, но работает )))))
Вы в курсе, что вы каждый кадр подписываетесь на это событие?
__________________
тут я

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

Регистрация: Mar 2011
Сообщений: 168
ну как бы да ))) понимаю что это глупо, но лучшего решения этого глюка я пока не нашел (((

Старый 27.03.2011, 23:21
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 9  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Я не вижу вашего кода по теме. Выложите его весь, убрав ненужный хлам.
__________________
тут я

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

Регистрация: Mar 2011
Сообщений: 168
Код AS3:
var snd:Sound = new Sound(new URLRequest("Tank_rolling.mp3"));
var channel:SoundChannel = new SoundChannel();
var pausePos:Number = channel.position;
var isPlaying:Boolean = false;
 
var f_Left=false;
var f_Right=false;
var f_Up=false;
var f_Down=false;
var f_Mouse=false;
 
stage.addEventListener(KeyboardEvent.KEY_DOWN,onKey_Down); 
function onKey_Down(e:KeyboardEvent):void{
	if(e.keyCode==37) f_Left=true;
	if(e.keyCode==38) f_Up=true;
	if(e.keyCode==39) f_Right=true;
	if(e.keyCode==40) f_Down=true;
}
 
stage.addEventListener(KeyboardEvent.KEY_UP,onKey_Up);
function onKey_Up(e:KeyboardEvent):void{
	if(e.keyCode==37) f_Left=false;
	if(e.keyCode==38) f_Up=false;
	if(e.keyCode==39) f_Right=false;
	if(e.keyCode==40) f_Down=false;
}
 
stage.addEventListener(MouseEvent.MOUSE_UP,onMouse_Up);
function onMouse_Up(e:MouseEvent):void{
	f_Mouse=false;
}
channel.addEventListener(Event.SOUND_COMPLETE, onSound_Complate);	
function onSound_Complate(e:Event){
	pausePos = 0;
	isPlaying = false;
}
 
stage.addEventListener(Event.ENTER_FRAME,onEnter_Frame);
function onEnter_Frame(e:Event):void{
	if (f_Up) {
		if(!isPlaying){
			channel = snd.play(pausePos);
			isPlaying = true;
		}
	} else if (f_Down) {
		if(!isPlaying){
			channel = snd.play(pausePos);
			isPlaying = true;
		}
	}else{
		pausePos = channel.position;
		channel.stop();
		isPlaying = false;
	}
 
 
}
Добавлено через 2 минуты
вроде бы оставил самое важное. Так вот в обработчик события не заходит (((

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

Теги
SOUND_COMPLATE

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

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


 


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


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