![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
Всем доброго дня!
Ни как не могу найти как вызвать произвольную функцию, передаваемую параметром из класса? Для иллюстрации проблеммы написал: Class MyClass extends MovieClip {
private var function,whoCalls,params;
funcion MyClass(function,whoCalls,params) {
this.function=function;
this.whoCalls=whoCalls;
this.params=params;
}
function Call() {
this.whoCalls.this.function(this.params);
}
}
Чем это вызвать и какие параметры/как нужно передавать классу? Видел это но ни понял до конца как это работает: Робовал передавать объект и имя функции - даже не могу передать ![]() Спасибо за помощь. з.ы. что-то я начал много спрашивать, но всегда стараюсь найти ответ в форуме/хелпе сначала. не всегда получается ![]() |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
Разобрался, оказывается была опечатка в коде - поэтмоу не работало
![]() Сделал так (если у кого-то возникнут подобные вопросы): В классе метод: function setCallback(Func,scope,parameters)
{
this._Func=Func;
this._scope=scope;
this._parameters=parameters;
}
При этом Func - полный путь к функции, e.g. this.myObj.function scope - путь к объекту, кот. ее вызывает e.g. this.myObj params - параметры. 2iNils: насчет параметров не совсем понял, елси сделать new MovieClip(), разве нельзя указать в скобках параметры для конструктора? Теперь уже не важно ибо сделал отдельный метод, а конструктор оставил пустым. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Цитата:
Их можно создать только с помощью методов: createEmptyMovieClip, attachMovie и createTextField |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
я забыл, а что они (операторы new) делают? просто "фиксируют" класс переменной, что-бы потом не записать туда что-попало?
з.ы. пардон если офф-топ, но просто что-бы уж разобраться... p/s/ они - new (e.g. new MovieClip(), new TextField(), etc) Последний раз редактировалось Denis Davidov; 17.05.2008 в 19:52. |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
Кстати, я так понял удобнее использовать apply чем call,
ибо call принемает параметры по одному: (...,param1, param2,....), т.е. вышеуказанный код работает только на один параметр, или параметр массив, тогда как apply в массиве: (...,[param1,param2,...]) отличий вродебы нет... |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|