![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2004
Сообщений: 14
|
Всем привет.
Скажем, есть мувик, со свей функцией. к которой я обращаюсь так mc.PushMe(mc); И это работает. Затем я создаю его дубликат: newObj = mc.duplicateMovieClip("newbox0",100); И это работает. Я присваиаю ему новую координату, он там создаётся и появляется. Но вот дальше newObj.PushMe(newObj); не работает. trace(newObj.PushMe(newObj)) выписывает "undefined", тогда как trace(newObj) выписывает "_level0.newbox0", то-есть, объект существует. В чём проблема, дорогие други? Не дайте помереть в неведении! Спасибо! |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Если ты пытаешься вызвать ф-цию сразу после дублирования - и не должно работать. Функция еще не определилась, т.е. сначала отрабатывает скрипт после дупликэйта, и только ПОТОМ начинается выполнение скрипта (и определение ф-ций) в первом кадре нового клипа. Варианты решения:
1 Ждать, пока не определится ф-ция. 2 Прописать ее в AS2 КЛАССЕ для этого клипа.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 14
|
А можно поподробнее о втором пункте?
|
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Пишешь класс, расширяющий MovieClip в *.as файле, в линкейдже мувика его указываешь. В этом случае инициализация классовых ф-ций происходит при создании/дублировании клипа, т.е. ДО выполнения следующей после создающей/дублирующей команды. Вроде того, что у только что приаттаченного мувика есть gotoAndPlay, stop и другие методы класса.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 14
|
Спасибо!
|
|
|||||
|
Регистрация: Jun 2004
Сообщений: 14
|
А где можно увидеть пример?
|
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Пример чего? Как писать классы? В хелпе по MX2004.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
кстати, если не требуется дублировать клип, и хочется запихнуть функции внутрь, то можно сделать финт ушами
// написать в клипе
#initclip
// линк к самому клипу
var origin = _root.blablabla.something;
origin.f = function () { .. };
origin.p = "property";
#endinitclip
но это не подходит для случая когда нужно дублировать клип. просто иногда удобно запихнуть все функции, которые нигде больше не нужны в один клип, не создавая классов и не заморачиваясь с тем когда там что отработает и станет доступно. Последний раз редактировалось Nox Noctis; 02.07.2004 в 16:34. |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Инитклип сакс.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
да, ты прав, важное дополнение :) |
![]() |
Часовой пояс GMT +4, время: 11:37. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|