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

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

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

Регистрация: Jun 2008
Сообщений: 283
По умолчанию Вызвать функция из функции

Здравствуйте

пример кода:
Код AS1/AS2:
function F_1():Void {
	trace('F_1()');
	function F_2():Void {
		trace('F_2()');
	}
}
Боюсь что глупость спрошу, но всё же: Можно ли из функции "F_1()" вызвать функцию "F_2()"? мол, вложенную


Спасибо

Буду весьма благодарен

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

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Сам попробуй
Код AS1/AS2:
function F_1():Void {
	trace('F_1()');
        F_2();
	function F_2():Void {
		trace('F_2()');
	}
}
__________________
Я мало чего умею, но зато хорошо умею учиться...

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

Регистрация: Sep 2010
Сообщений: 47
Цитата:
Сообщение от HardCoder Посмотреть сообщение
Сам попробуй
Код AS1/AS2:
function F_1():Void {
	trace('F_1()');
        F_2();
	function F_2():Void {
		trace('F_2()');
	}
}
Думаю сначала нужно объявить, а потом вызывать функцию.

Старый 19.05.2011, 12:59
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 4  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Нет ни какой разницы
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 19.05.2011, 13:09
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 5  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Не делайте вложенных функций, не объявляйте функции внутри других функций и у вас потом не будет проблем.
Код AS1/AS2:
function_1();
 
function function_1():Void 
{
	function_2();
}
 
function function_2():Void 
{
	trace('Вызов function_2');
}
__________________
Идите первым!


Последний раз редактировалось mooncar; 19.05.2011 в 13:12.
Старый 19.05.2011, 13:18
Evgan вне форума Посмотреть профиль Отправить личное сообщение для Evgan Найти все сообщения от Evgan
  № 6  
Ответить с цитированием
Evgan

Регистрация: Jun 2008
Сообщений: 283
Цитата:
Сообщение от mooncar Посмотреть сообщение
Не делайте вложенных функций, не объявляйте функции внутри других функций и у вас потом не будет проблем.
Код AS1/AS2:
function_1();
 
function function_1():Void 
{
	function_2();
}
 
function function_2():Void 
{
	trace('Вызов function_2');
}
Всё верно, я осознал что ошибку допустил, надо было в класс писать. Буду переделывать
спасибо

Добавлено через 38 секунд
Цитата:
Сообщение от HardCoder Посмотреть сообщение
Сам попробуй
Код AS1/AS2:
function F_1():Void {
	trace('F_1()');
        F_2();
	function F_2():Void {
		trace('F_2()');
	}
}
Не тот вариант

Добавлено через 2 минуты
Цитата:
Сообщение от Flashrunner Посмотреть сообщение
Думаю сначала нужно объявить, а потом вызывать функцию.
Да, я объявлял функцию "F_1()", а как после этого вызывать "F_2()"? Конечно если это возможно

Спасибо

Старый 19.05.2011, 13:36
Flashrunner вне форума Посмотреть профиль Отправить личное сообщение для Flashrunner Найти все сообщения от Flashrunner
  № 7  
Ответить с цитированием
Flashrunner

Регистрация: Sep 2010
Сообщений: 47
Я имел ввиду, что нужно сначала объявить F_2, а потом вызывать, но ошибся, это не играет роли..

Цитата:
Сообщение от Evgan Посмотреть сообщение
Да, я объявлял функцию "F_1()", а как после этого вызывать "F_2()"? Конечно если это возможно
Вам уже показали как

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

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Цитата:
Сообщение от Evgan Посмотреть сообщение
Да, я объявлял функцию "F_1()", а как после этого вызывать "F_2()"? Конечно если это возможно
Не знаток AS2, но думаю нельзя вне тела функции-"родителя" вызвать вложенную в нее функцию

Добавлено через 8 минут
Так работает:
Код AS1/AS2:
function F_1 (f_2:String):Void {
	if (!f_2) {
		trace('F_1()');
		return;
	} else {
		F_2();
	}
	function F_2():Void {
		trace('F_2()');
	}
}
F_1();
F_1("f_2");
__________________
Я мало чего умею, но зато хорошо умею учиться...


Последний раз редактировалось HardCoder; 19.05.2011 в 13:59.
Старый 19.05.2011, 14:02
Evgan вне форума Посмотреть профиль Отправить личное сообщение для Evgan Найти все сообщения от Evgan
  № 9  
Ответить с цитированием
Evgan

Регистрация: Jun 2008
Сообщений: 283
Всё понял, буду в класс переделывать
Спасибо

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

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

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


 


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


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