Вход

Просмотр полной версии : вызов класса через линк


Mr. Fixit
10.09.2007, 18:53
class As{
public function As () {
trace ("a");
}
}
в
linkage:
id:a
AS 2.0 class: As

почему не выводит "а"?

udaaff
10.09.2007, 19:20
Потому что, по всей видимости, extends MovieClip забыли.

ЗЫ: проверил без extends MovieClip, все работает и так и так. Ошибки тут нету по всей видимоти, где-то в другом месте ищите.

Mr. Fixit
10.09.2007, 19:24
а на сцене у вас пусто?
extends MovieClip не поставил специально, т.к. не нужен в даном случае.

udaaff
10.09.2007, 19:26
На сцене я поместил мувик, с которым связал этот класс.

Mr. Fixit
10.09.2007, 19:28
ну так получается..
а что никак нельзя вызвать класс с помощью линка, не помещая этот клип на сцену?

udaaff
10.09.2007, 19:34
В данном случае в консоль выводится "а", когда срабатывает функция конструктор класса As. Если ты свзявываешь в библиотеке символ мувика с каким-нибудь классом, то, соотв., когда этот мувик попадает на сцену, то создается экземпляр класса, с которым он связан. Он, собственно, и является этим экземпляром, и, соотв. при его создании и сработает конструктор. По другому никак в данном случае.

Mr. Fixit
10.09.2007, 19:38
а как же тогда вызывается класс в AS 3.0?

udaaff
10.09.2007, 19:42
В AS3.0, к сожалению, я не разбираюсь, поэтому ничего по этому поводу сказать не могу. Но в любом случае, конструктор должен срабатывать при создании экземпляра класса.

etc
10.09.2007, 20:11
А что, new As() не работает? Зачем линкейдж классу, который не наследуется от MovieClip? Зачем вообще в либе создавать клип и прописывать класс, который к нему не подходит?

Mr. Fixit
10.09.2007, 20:21
эксперименты ставлю.