PDA

Просмотр полной версии : Вызов функции из другого package


sweet_fighter
03.06.2013, 20:18
Обьясните, пожалуйста, почему имея класы в одном package, то конструкция вида:
myClass.myFunction();
работает, а как только я переношу myClass в другой package, сразу же
Call to a possibly undefined method.

http://apps.cheesebanana.com/flash/mac/img.jpg

В приложеной картинке класы идентичны внутри. Оба добавляются на сцену, наследуют MovieClip.
Просто лежат в разных местах.
И там и там

//InitGame.as
public function trololo():void {

}

//Test.as
public function ololo():void {

}


initGame.trololo(); выдает ошибку.

Спасибо.

maincode
03.06.2013, 20:27
Потому что пакет и переменная называются initGame, видимо пакет имеет бОльший приоритет чем переменная. Переименуйте что нибудь.

sweet_fighter
03.06.2013, 20:31
Кошмар какой..) Стыд и позор, мне. Под конец рабочего дня совсем расслабился.
Кстати, если ничего не менять и явно указать вот так

(initGame as MovieClip).trololo();

работает.

maincode
03.06.2013, 20:32
лучше переименовать что нибудь )

sweet_fighter
03.06.2013, 22:06
лучше переименовать что нибудь )

А почему тогда test.ololo(); работает нормально?)
Кстати, initGame и InitGame это разные название же. Ну для нас то одинаковые, но компилятор видит по разному.

maincode
03.06.2013, 23:22
я говорю не про InitGame, а про пакет(package) initGame и переменную initGame. А test... не имеет ни какого отношения к initGame, поэтому и работает

sweet_fighter
04.06.2013, 01:53
а, вот теперь я понял =)
Спасибо.