Просмотр полной версии : вопрос по AS2.0 "extends MovieClip"
vfedorov
17.04.2007, 21:40
Здравствуйте
Просматривая один чужой кусок кода я наткнулся на такую строку:
confirm = (Confirm)(target.attachMovie("ConfirmSymbol", "mcConfirm", target.getNextHighestDepth()));
при этом класс Confirm обьявлен как
class ProdSelector extends MovieClip implements Observer
Протроссеровав значение confirm я получил undefined
Но заменив на
confirm = target.attachMovie("ConfirmSymbol", "mcConfirm", target.getNextHighestDepth());
получил клип.
Вопрос: как мне нормальни инициализировать confirm как экземпляр Confirm?
Заранее спасибо
confirm = Confirm(target.attachMovie("ConfirmSymbol", "mcConfirm", target.getNextHighestDepth()));
а как же ключевое слово new?
var confirm:Confirm = new Confirm(........)
А ничего, что класс Confirm в строке
class ProdSelector extends MovieClip implements Observer
не присутствует? Где class Confirm extends MovieClip? Видимо, написавший это явно что-то упустил.
BigDan, бред.
confirm = (Confirm)// не обязательно, ведь в библиотеке у мувика АС2 класс задан
Чужой был магом, не иначе. Это точно флеш?
vfedorov
18.04.2007, 22:08
Ответ нащёл сам
confirm = target.attachMovie("ConfirmSymbol", "mcConfirm", target.getNextHighestDepth());
уже сам по себе будет экземпляром класса Confirm. У меня все функции этого класса выполняются.
P.S. Такая нотация в проекте везде. Очень похоже на C++ приведание типов. Только кажется в AS такое не надо, т.к. язык не строготипизирован.
Поправьте меня, если ощибаюсь
Строгая типизация на стадии компиляции.
Только вы нам, судя по всему, два разных куска кода показывали.
Первый вариант тоже, по-идее должен выполняться... Скобки, кроме всего остального говорят компайлеру, что нужно вычислить значение в них. Если значением является функция, кроме того, у этой функции (класса) есть описанный метод (а он, явно есть, раз она наследует метод от МувиКлиа), то все должно получиться =) Вот только если в классе Confirm attachMovie делает не то же самое, что она делает в MovieClip, тогда может получиться конфузно %)
------------------------ upd ------------------------
Вот, что странно, что класс объявлен не так, как он называется... зачем =/
vfedorov
19.04.2007, 16:10
Извините - я ощибся в первом посте. Там должно быть
class ProdSelector extends MovieClip implements Observer
vfedorov
19.04.2007, 16:11
тему можно закрывать
А там так и есть.
Впроем, тема закрыта, ибо несколько бредовая.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.