Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Очередность исполнения кода AS2 (http://www.flasher.ru/forum/showthread.php?t=137176)

proffyes 06.03.2010 09:38

Очередность исполнения кода 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) этого же кадра?

mooncar 06.03.2010 12:42

Не пишите код на мувиках и кнопках, и все намного упростится. Это технологически уже давно устарело, и создает кучу неудобств, полный список которых велик.
И с этим конкретным вашим вопросом тот, кто мог бы ответить (знает нюансы и древней записи и современного AS), просто не станет разбираться, так как сейчас так не делается, на форуме просто пишут - не пишите код на объектах, и дальше тишина.
Бросайте и вы это дело и сэкономите себе кучу времени, которое можно будет потратить на полноценную разработку.

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

proffyes 06.03.2010 13:02

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

etc 06.03.2010 13:32

Наверное, для вас будет разочарованием узнать, что вы сейчас пишете не на AS2, а на AS1.

proffyes 06.03.2010 13:44

Емана, а чем оно все отличается то?

udaaff 06.03.2010 14:17

AS2 код пишется в классах.


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

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