Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   вопрос по AS2.0 "extends MovieClip" (http://www.flasher.ru/forum/showthread.php?t=94686)

vfedorov 17.04.2007 21:40

вопрос по AS2.0 "extends MovieClip"
 
Здравствуйте

Просматривая один чужой кусок кода я наткнулся на такую строку:
Код:

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?

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

lowka 17.04.2007 21:42

Код:

confirm = Confirm(target.attachMovie("ConfirmSymbol", "mcConfirm", target.getNextHighestDepth()));

BigDan 17.04.2007 22:00

а как же ключевое слово new?
Код:

var confirm:Confirm = new Confirm(........)

etc 17.04.2007 22:06

А ничего, что класс Confirm в строке
Код:

class ProdSelector extends MovieClip implements Observer
не присутствует? Где class Confirm extends MovieClip? Видимо, написавший это явно что-то упустил.

BigDan, бред.

CorC 18.04.2007 10:03

Код:

confirm = (Confirm)// не обязательно, ведь в библиотеке у мувика АС2 класс задан

etc 18.04.2007 11:55

CorC, что это? :D

Kikasso 18.04.2007 12:46

Чужой был магом, не иначе. Это точно флеш?

vfedorov 18.04.2007 22:08

Ответ нащёл сам


Код:

confirm = target.attachMovie("ConfirmSymbol", "mcConfirm", target.getNextHighestDepth());
уже сам по себе будет экземпляром класса Confirm. У меня все функции этого класса выполняются.

P.S. Такая нотация в проекте везде. Очень похоже на C++ приведание типов. Только кажется в AS такое не надо, т.к. язык не строготипизирован.

Поправьте меня, если ощибаюсь

etc 18.04.2007 22:16

Строгая типизация на стадии компиляции.
Только вы нам, судя по всему, два разных куска кода показывали.

wvxvw 18.04.2007 22:26

Первый вариант тоже, по-идее должен выполняться... Скобки, кроме всего остального говорят компайлеру, что нужно вычислить значение в них. Если значением является функция, кроме того, у этой функции (класса) есть описанный метод (а он, явно есть, раз она наследует метод от МувиКлиа), то все должно получиться =) Вот только если в классе Confirm attachMovie делает не то же самое, что она делает в MovieClip, тогда может получиться конфузно %)

------------------------ upd ------------------------

Вот, что странно, что класс объявлен не так, как он называется... зачем =/


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

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