Показать сообщение отдельно
Старый 03.02.2013, 18:43
Gasoline вне форума Посмотреть профиль Отправить личное сообщение для Gasoline Найти все сообщения от Gasoline
  № 3  
Ответить с цитированием
Gasoline
 
Аватар для Gasoline

Регистрация: Dec 2011
Сообщений: 15
У меня получилось так
Код AS1/AS2:
var iF:Number = 0; // итератор
 
var myArray:Array = new Array(
'myFunction_5-10',
'myAnotherFunction_1-5-10',
'trace_"hello"'
/* создаем массив с функциями. 
Имя функций от аргументов отделяем символом "_". 
Аргументы друг от друга "-"
*/
); 
 
_root.onMouseUp = function() {
	currentFunction = myArray[iF].split('_');
	// разделяем имя функции от аргументов
	var arg:Array = currentFunction[1].split('-');
	// разделяем аргументы
	_global[currentFunction[0]].apply(null,arg);
	iF++;
	// вызываем функцию и увеличиваем счетчик
};
 
// примеры функций
_global.myFunction = function(a, b) {
	trace(b+'/'+a+'='+b/a);
};
 
_global.myAnotherFunction = function() {
	trace(arguments);
};
Работать работает, но думаю можно и по лучше без шаманства.