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

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

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

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

Код AS1/AS2:
var Fun: Array = new Array(fun1, fun2, fun3);
 
for(i = 0; i < 3; i++)
{
	function Fun[i](e:MouseEvent):void
        {
              // 1084: Syntax error: expecting leftparen before leftbracket.
 
        }
}
Как правильно задать функцию в цикле??
Заранее спасибо!

Старый 24.05.2014, 23:06
gyfak вне форума Посмотреть профиль Отправить личное сообщение для gyfak Найти все сообщения от gyfak
  № 2  
Ответить с цитированием
gyfak

Регистрация: Aug 2013
Адрес: Москва
Сообщений: 37
Fun[i]=function(e:MouseEvent):void

Только не понятно, зачем так делать?

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

Регистрация: Jan 2014
Сообщений: 27
Выдает такую ошибку в объявлении массива теперь.

Scene 1, Layer 'Layer 1', Frame 1, Line 8, Column 28 1120: Access of undefined property fun1.

Старый 24.05.2014, 23:15
gyfak вне форума Посмотреть профиль Отправить личное сообщение для gyfak Найти все сообщения от gyfak
  № 4  
Ответить с цитированием
gyfak

Регистрация: Aug 2013
Адрес: Москва
Сообщений: 37
Код AS3:
var Fun:Array = [];
 
			for(var i = 0; i < 3; i++)
			{
				var f:Function=function(e:MouseEvent)
				{
					  // 1084: Syntax error: expecting leftparen before leftbracket.			 
				}
				Fun.push(f)
			}
Добавлено через 1 минуту
А зачем вам массив из однотипных функций, если не секрет?

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

Регистрация: Jan 2014
Сообщений: 27
У меня есть несколько кнопок и каждая из них должна выводить один объект и прятать другой.

Спасибо за помощь, но теперь тело функции не работает)

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

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

Регистрация: Aug 2013
Адрес: Москва
Сообщений: 37
Зачем тогда держать эти функции в массиве?

Нужно повесить листнеры на ваши кнопки и сделать отдельные функции для них

Код AS1/AS2:
button0.addEventListener(MouseEvent.CLICK, onClick0);
button1.addEventListener(MouseEvent.CLICK, onClick1);
button2.addEventListener(MouseEvent.CLICK, onClick2);
private function onClick0(event:MouseEvent):void 
{
trace('click0')
}

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

Регистрация: Jan 2014
Сообщений: 27
Просто они выполняют одинаковые действия, просто с другими элементами других массивов.

И что если у меня будет не 3 кнопки, в больше?

Я думал проще записать функции в отдельный массив, и потом так же по циклу для каждой кнопки вызывать отдельную функцию, разве не так?

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

Регистрация: Aug 2013
Адрес: Москва
Сообщений: 37
Нет, это не рационально.

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

Регистрация: Jan 2014
Сообщений: 27
Объясните тогда, пожалуйста, как рационально.
Спасибо.

Старый 24.05.2014, 23:54
gyfak вне форума Посмотреть профиль Отправить личное сообщение для gyfak Найти все сообщения от gyfak
  № 10  
Ответить с цитированием
gyfak

Регистрация: Aug 2013
Адрес: Москва
Сообщений: 37
Тогда давайте полное описание задачи)

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

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

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


 


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


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