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

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

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

Регистрация: Jan 2014
Сообщений: 27
По умолчанию Метод в методе

Код AS3:
hand_01.addEventListener(Event.ENTER_FRAME, onEnter_1);
function onEnter_1(e:Event):void{
	if(hand_01.currentFrame == hand_01.totalFrames)
	{
		hand_02.play();
		hand_02.addEventListener(Event.ENTER_FRAME, onEnter_2);
		function onEnter_2(e:Event):void{
			if(hand_02.currentFrame == hand_02.totalFrames)
			{
				hand_02.stop();
				hand_03.play();
				hand_03.addEventListener(Event.ENTER_FRAME, onEnter_3);
				function onEnter_3(e:Event):void{
					if(hand_03.currentFrame == hand_03.totalFrames)
					{
						hand_03.stop();
						this.Hand_01.visible = true; //здесь выдает ошибку, помогите пожалуйста!!! 
					}
				}
			}
		}
	}
}

Старый 22.05.2014, 19:49
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
hand_01.addEventListener - надо просто через таймер добавлять.
Раз в 10-50 миллисек. А то кадры рефрешатся, а подписка всего один раз сделана.

Как вариант - назначать его через отдельный Event.ENTER_FRAME.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
Сообщение от dark256 Посмотреть сообщение
hand_01.addEventListener - надо просто через таймер добавлять.
Раз в 10-50 миллисек. А то кадры рефрешатся, а подписка всего один раз сделана.

Как вариант - назначать его через отдельный Event.ENTER_FRAME.
Там просто опечатка, Hand вместо hand, видно сразу.
Да и автор ещё и текст ошибки не написал, надеется на экстрасексов.
__________________
There is no thing in this world that is not simple.

Старый 22.05.2014, 20:58
Youngflasher вне форума Посмотреть профиль Отправить личное сообщение для Youngflasher Найти все сообщения от Youngflasher
  № 4  
Ответить с цитированием
Youngflasher

Регистрация: Jan 2014
Сообщений: 27
Там нет опечатки, это отдельный объект.

Текст ошибки.

TypeError: Error #1010: A term is undefined and has no properties.
at MethodInfo-1()

Добавлено через 7 минут
Цитата:
Сообщение от SuriTheAngel Посмотреть сообщение
Там просто опечатка, Hand вместо hand, видно сразу.
Да и автор ещё и текст ошибки не написал, надеется на экстрасексов.
Лучше вообще не отвечать, чем так как вы.

Я очень за вас рад, если вы всегда все знали и никогда не делаете ошибок.

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
at MethodInfo-1()
Вы хоть бы выложили метод, в котором ошибка. Не вижу такого.
__________________
There is no thing in this world that is not simple.

Старый 23.05.2014, 11:13
Youngflasher вне форума Посмотреть профиль Отправить личное сообщение для Youngflasher Найти все сообщения от Youngflasher
  № 6  
Ответить с цитированием
Youngflasher

Регистрация: Jan 2014
Сообщений: 27
Код AS3:
hand_01.addEventListener(Event.ENTER_FRAME, onEnter_1);
function onEnter_1(e:Event):void{
	if(hand_01.currentFrame == hand_01.totalFrames)
	{
		this.Hand_01.visible = true;
	}
}
Если, например, сделать так, то проигрывается просто первый ролик и все работает, а если в цепочке - выдает ошибку.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
1. Название темы убило. В методе не может быть метода, только функция.
2. Что мешает Вам вынести эти вложенные функции в тело класса?
3. Прикол в том, что Вы не просто заходите в onEnter_1 на каждый кадр, Вы также делаете проверки. И когда hand_02 отыграет до конца, условие будет срабатывать всегда, ведь Вы остановили его на последнем кадре. И значит всегда, на каждый кадр сцены, будет срабатывать команда hand_03.play(); Потом hand_03.stop(); Вам правда нравится вся эта красота? При том что все эти обработчики ИТАК УЖЕ находятся в обработчике, вызываемом на каждый кадр. То есть все, что в них написано, можно просто выполнять в этом общем обработчике без лишних подписок, событий и функций.
__________________
Reality.getBounds(this);

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

Регистрация: Jan 2014
Сообщений: 27
спасибо

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

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

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


 


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


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