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

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

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

Регистрация: Feb 2010
Сообщений: 9
По умолчанию Очередность исполнения кода AS2

Недавно начал изучать AS2. Меня сбивает с толку очередность выполнения кода в кадре. Что раньше выполняется: событие onClipEvent (load) или код в самом кадре?
к примеру: В управляющем клипе я инициализирую глобальную переменную, и передаю ее в функцию.

Код AS1/AS2:
onClipEvent (load) {
		_global.colorist=int(Math.random()*3);
 
		_level0.schet=colorist;
 
		changecolor(colorist);
 
		  }
Тело функции у меня описано в кадре, где в зависимости от переменной должен проигрываться тот или иной звук.

Код AS1/AS2:
 function changecolor(colornumber){   
	  if (colornumber==0){
		mySound=new Sound();
        mySound.attachSound("yelloy.wav");
		mySound.setVolume(100);
		mySound.setPan(-100);
        mySound.start();}
 
		if (colornumber==1){
		mySound=new Sound();
        mySound.attachSound("blue.wav");
		mySound.setVolume(100);
		mySound.setPan(-100);
        mySound.start();}
 
		if (colornumber==2){
		mySound=new Sound();
        mySound.attachSound("green.wav");
		mySound.setVolume(100);
		mySound.setPan(-100);
        mySound.start();}
 
		if (colornumber==3){
		mySound=new Sound();
        mySound.attachSound("red.wav");
		mySound.setVolume(100);
		mySound.setPan(-100);
        mySound.start();}
   }
 
 function spheracolor(spheranumber)
 {
 if(colorist==spheranumber)	
  {
	  delay = 2500;
   _level0.schet="Правильно";
 
  } 
 else
  {
 _level0.schet=colorist;
  }
 }
Так вот, звук не проигрывается. Если я вызов функции вешаю на событие нажатия кнопки, то все ок.

PS

Дополнительный вопрос, если у меня определенный кадр вызван как gotoandstop, скажите сколько раз там может возникать событие onClipEvent (load)? По идее должно же один раз возникать? Не должно оно снова повторяться после допустим, события on(press) этого же кадра?

Старый 06.03.2010, 12:42
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Не пишите код на мувиках и кнопках, и все намного упростится. Это технологически уже давно устарело, и создает кучу неудобств, полный список которых велик.
И с этим конкретным вашим вопросом тот, кто мог бы ответить (знает нюансы и древней записи и современного AS), просто не станет разбираться, так как сейчас так не делается, на форуме просто пишут - не пишите код на объектах, и дальше тишина.
Бросайте и вы это дело и сэкономите себе кучу времени, которое можно будет потратить на полноценную разработку.

PS. Ковырять чужие древние исходники и уроки - не самый лучший способ для изучения AS. Возможно, это не ваш случай, но тут масса такого спрашивают.
А тот, кто мог бы ответить, не ответит, так как обсуждать это ему не актуально и неинтересно. Ведь во многом причиной ответить на вопрос новичка является интерес к проблеме или вопросу.


Последний раз редактировалось mooncar; 06.03.2010 в 12:49.
Старый 06.03.2010, 13:02
proffyes вне форума Посмотреть профиль Отправить личное сообщение для proffyes Найти все сообщения от proffyes
  № 3  
Ответить с цитированием
proffyes

Регистрация: Feb 2010
Сообщений: 9
Спасибо, я уже сам разобрался. Вы предлагаете заняться сразу AS3? Ну может AS2 доковыряю и займусь)). Решилось все просто, функция вывешивается в событие onClipEvent (load). И все работает. Давно мне моск не выносило, AS2 то удалось. Интересно, кто это придумал так раскидать код в проекте, который дружит между собой с помощью весьма веселого колдунства?

Старый 06.03.2010, 13:32
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Наверное, для вас будет разочарованием узнать, что вы сейчас пишете не на AS2, а на AS1.

Старый 06.03.2010, 13:44
proffyes вне форума Посмотреть профиль Отправить личное сообщение для proffyes Найти все сообщения от proffyes
  № 5  
Ответить с цитированием
proffyes

Регистрация: Feb 2010
Сообщений: 9
Емана, а чем оно все отличается то?

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
AS2 код пишется в классах.

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

Теги
очередность , события

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

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


 


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


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