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

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

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

Регистрация: Sep 2012
Сообщений: 57
По умолчанию Зациклилась заставка перед приложением

Здравствуйте. В главной линии времени 3 кадра. 1-заставка, 2-главное меню, 3-основной контент. Контент и меню связала. Стала делать заставку, а она зацикливается и функция не хочет по условию вызывать следущий кадр. Прошу помощи.
Код AS3:
var stop_zast:Boolean = false;
if (stop_zast == false){
function zastavka1():void
{
	gotoAndStop(1);
	if(zastavka.currentFrame == 135){
		zastavka.stop();
		hi_again();
		stop_zast = true;
	}
}
zastavka1();
}
function hi_again():void
{
gotoAndStop(2);
// Тут прочие действия, которые выполняет функция
}

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

Регистрация: Jan 2009
Сообщений: 1,651
Вот это сравнение if(zastavka.currentFrame == 135){ должно каждый кадр проверяться, а не как у вас сделано.

Код AS3:
var stop_zast:Boolean = false;
if (stop_zast == false){
function zastavka1():void
{
	gotoAndStop(1);
	addEventListener(Event.ENTER_FRAME, zastavkaEFHr);
}
zastavka1();
}
 
function zastavkaEFHr(e:Event):void {
	if(zastavka.currentFrame == 135){
		removeEventListener (Event.ENTER_FRAME, zastavkaEFHr);
		zastavka.stop();
		hi_again();
		stop_zast = true;
	}
}
 
 
function hi_again():void
{
gotoAndStop(2);
// Тут прочие действия, которые выполняет функция
}
Могут быть опечатки.
__________________
мой пустой блог

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

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Скорее всего функция zastavka1() выполняется один раз, когда сама заставка на первом кадре, поэтому условие
Код AS3:
if(zastavka.currentFrame == 135)
никогда не выполнится

На саму заставку можно накрутить слушатель события .onComplete вместо прямой проверки на равенство 135

Код AS3:
function zastavka1():void
{
	gotoAndStop(1);
	zastavka.addEventListener(Event.COMPLETE, onCompleteHandler);
}
function onCompleteHandler(e:Event):void
{
        zastavka.stop();
		hi_again();
		stop_zast = true;
}
function hi_again():void
{
gotoAndStop(2);
// Тут прочие действия, которые выполняет функция
}

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

Регистрация: Sep 2012
Сообщений: 57
Спасибо! Всё ясно! Теперь работает.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
На саму заставку можно накрутить слушатель события .onComplete вместо прямой проверки на равенство 135
Для этого надо чтобы сама заставка отправляла это событие.

Можно сделать как сказал KumoKairo, а на 135 кадр заставки добавить строчки:
Код AS3:
import flash.event.Event;
dispatchEvent(new Event(Event.COMPLETE));
stop();

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

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
А встроенные во Flash Pro мувики не отправляют событие при завершении?

Старый 28.02.2013, 20:51
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 7  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Во flash pro - нет встроенных мувиков вопервых, во вторых ни один из DO никаких событий(почти) сам не отправляет
__________________
Марк Tween

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
во вторых ни один из DO никаких событий(почти) сам не отправляет
Отправляет много чего. Но вот complete мувиклип точно не отправит

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

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Зачем все по-другому в этом флеш про?

Люди стараются делают фреймворки для удобства работы с анимацией, а флеш про у стандартных мувиков оказывается Event.COMPLETE не посылает..

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

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

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


 


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


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