Показать сообщение отдельно
Старый 03.05.2014, 03:06
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 11  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Причина в ваших условиях. Я попробую объяснить как оно срабатывает. Допустим count равен единице, но почему же переходит в третий кадр?

Код AS1/AS2:
if (count == 1)                //первая проверка. Да, count равен единице и команда перехода
{                                  //на второй кадр выполнится, но только после того, как весь код из данного кадра 
	gotoAndStop(2);     //будет прочтён до конца.
}
                                    //чтение кода продолжается....
 
if (count == 2)                 //вторая проверка не срабатывает, так как count не равен двойке в данный момент,
{
	gotoAndStop(3);
}
else                                // НО сработает эта строчка, ведь если count не равен двойке, тогда вы переходите  
{                                    // на четвёртый кадр, всё логично.
	gotoAndStop(4);
}
Просто не забывайте, что код обязательно прочитается весь, даже если была команда перехода на другой кадр.
Исправить ситуацию достаточно просто, поставьте цельную ветвь ифов. Здесь, переход на четвёртый кадр произойдёт только тогда, когда count будет равен любому числу, кроме единицы или двойки.

Код AS1/AS2:
if (count == 1)
{
	gotoAndStop(2);
}
else if (count == 2)    // <---  else if
{
	gotoAndStop(3);
}
else
{
	gotoAndStop(4);
}