![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2005
Адрес: Russia, Irkutsk
Сообщений: 742
|
приветствую.
решил тут попробовать интерфейсы ![]() проблема в следующем: есть 2 класса, наследующих Sprite и реализующих некоторый интерфейс, назовем его IBlock. следующий код выдает ошибку, мол нет такого метода "hitTestObject": я так понимаю в этом случае IBlock должен расширять какой-то другой интерфейс. если так то какой?
__________________
smival.com |
|
|||||
|
нет. надо чтобы классы наследовались от одного класса Block например и имплементились от IBlock.
тогда код будет такой: var block:IBlock = classInstance as Block; а вообще я считаю что интерфейс тут и не нужен.. просто наследуемся от одного класса и все. я не прав? Последний раз редактировалось etc; 23.06.2008 в 23:25. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
А вообще, проблема в том, что интерфейс не является DisplayObjectContainer (или у кого там объявлен hitTestObject), поэтому для использования этого метода, нужно приводить к соответствующему типу. |
|
|||||
|
возможно вот так будет работать?
var block:IBlock = classInstance as Sprite; тк они от спрайта наскока я знаю.. |
|
|||||
|
стервочка (я мужик)
|
Greenish, она ваши примеры неверны. надо что бы у IBlock был данный метод, как написал выше __etc, а не что бы кто-то где-то там кого-то имел.
|
|
|||||
|
Регистрация: Oct 2005
Адрес: Russia, Irkutsk
Сообщений: 742
|
var block:IBlock = classInstance as DisplayObjectContainer ; trace (block.hitTestObject(someObj)) Цитата:
__________________
smival.com |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Потому что вам вообще здесь интерфейс не нужен. Он нужен тогда, когда вы хотите вызвать метод, который описывает этот интерфейс.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|