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

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

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

Регистрация: Feb 2009
Сообщений: 38
По умолчанию Как задать порядок выполнения функций?

Собственно вопрос в заголовке:- Как задать порядок выполнения функций?
Например:

Код AS1/AS2:
function FunctionSum() {
Sum = A+B+C;
}
 
function FunctionA() {
A="a"
};
 
function FunctionB() {
B="b"
};
 
function FunctionC() {
C="c"
};
Тоесть как выполнить сначало функции A затем B затем C и только после этого SUM.

Зарание спасибо.

Старый 27.04.2009, 14:47
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код AS1/AS2:
FunctionA ();
FunctionB ();
FunctionC ();
FunctionSum ();
Кстати, название функций пишут с маленькой буквы.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 27.04.2009, 14:47
ОльгаЮрьевна вне форума Посмотреть профиль Отправить личное сообщение для ОльгаЮрьевна Посетить домашнюю страницу ОльгаЮрьевна Найти все сообщения от ОльгаЮрьевна
  № 3  
Ответить с цитированием
ОльгаЮрьевна
 
Аватар для ОльгаЮрьевна

Регистрация: Mar 2008
Адрес: Санкт-Петербург
Сообщений: 171
Отправить сообщение для ОльгаЮрьевна с помощью ICQ
функции выполняются последовательно как написаны - одна за другой... перенесите SUM вниз и выполнится последней (исходя из данной записи, ну если вы их где-то еще в другой последовательности не вызываете)

Старый 27.04.2009, 14:52
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
функции выполняются последовательно как написаны - одна за другой
Порядок написания не влияет на последовательность выполнения, тем более, что можно функцию описать и не вызвать вообще. Более того, используя обычное описание функции, а не литеральное, то есть function Function (), можно вызывать функции еще до их описания. Функции все равно будут созданы раньше.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 27.04.2009, 15:09
jurik_5 вне форума Посмотреть профиль Отправить личное сообщение для jurik_5 Найти все сообщения от jurik_5
  № 5  
Ответить с цитированием
jurik_5

Регистрация: Feb 2009
Сообщений: 38
Цитата:
Сообщение от iNils Посмотреть сообщение
Более того, используя обычное описание функции, а не литеральное
Спасибо учту в будущем, правда здесь использовал заглавные для наглядности.

Цитата:
Сообщение от iNils Посмотреть сообщение
Порядок написания не влияет на последовательность выполнения
по этому и надеюсь на вашу помощ. Как например можно вызывать одну или несколько функций после полного выполнения первой функции?

Старый 27.04.2009, 14:54
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 6  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
А может быть, лучше так?

Код AS1/AS2:
function functionSum() {
    return functionA() + functionB() + functionC();
}
 
function functionA() {
    return "a"
};
 
function functionB() {
    return "b"
};
 
function functionC() {
    return "c"
};
 
sum= functionSum();


Последний раз редактировалось Stargazer; 27.04.2009 в 14:58.
Старый 27.04.2009, 15:12
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
после полного выполнения первой функции
Просто взять и вызвать. Код внутри флеша выполняется синхронно (кроме загрузки данных), поэтому до конца выполнения первой функции, ничего другое работать не будет.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Feb 2009
Сообщений: 38
Вот как раз загрузка данных меня и интересует... Конкретный пример. Загружаются 3 файла данные обрабатываются, потом они должны (но никак не хотят) последовательно складываются, а потом должны отправлятся в другую, 4тую функцию (myfunction), где выводится на экран в виде бегущей строки. Вот такая у меня проблема.

Код AS1/AS2:
_global.ABC = "";
 
var PATH:String = "http:/..A..";
var loadVars:LoadVars = new LoadVars();
loadVars.onData = function(str:String):Void  {
	if (str) {
var my_str_A:String = str;
_global.ABC = _global.ABC + my_str_A;
} 
           };
loadVars.load(PATH);
 
var PATH:String = "http:/..B..";
var loadVars:LoadVars = new LoadVars();
loadVars.onData = function(str:String):Void  {
	if (str) {
var my_str_B:String = str;
_global.ABC = _global.ABC + my_str_B;
} 
           };
loadVars.load(PATH);
 
var PATH:String = "http:/..C..";
var loadVars:LoadVars = new LoadVars();
loadVars.onData = function(str:String):Void  {
	if (str) {
var my_str_C:String = str;
_global.ABC = _global.ABC + my_str_C;
} 
           };
loadVars.load(PATH);
 
function myfunction() {
RunStr.text = _global.RunStrText.text.substr(1)+_global.RunStrText.text.substr(0, 1);
};
setInterval(myfunction,100)
с таким кодом как у меня сейчас my_str_ складываются как попало, в зависимости от скорости загрузки и обработки файлов. А поскольку функция myfunction() обрабатывается первой RunStr.text остаётся пустой NaN


Последний раз редактировалось jurik_5; 27.04.2009 в 15:56.
Старый 27.04.2009, 16:05
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Два варианта:
1. Грузим первые данные, дожидаемся загрузки, грузим вторые данные и тд.
2. Грузим все скопом как у вас, но заводим счетчик. И в каждом onData проверяем его значение, как только оно равно общему числу загрузок, вызываем результирующую функцию.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 27.04.2009, 16:41
jurik_5 вне форума Посмотреть профиль Отправить личное сообщение для jurik_5 Найти все сообщения от jurik_5
  № 10  
Ответить с цитированием
jurik_5

Регистрация: Feb 2009
Сообщений: 38
Спасибо, попробую.

Добавлено через 44 часа 16 минут
Цитата:
Сообщение от iNils Посмотреть сообщение
1. Грузим первые данные, дожидаемся загрузки, грузим вторые данные и тд.
А можно маленький пример как прописать ожидание полной загрузки(+выполнения ф-ции до конца) , так чтоб знать в каком напровлении копать

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

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

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


 


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


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