![]() |
Доступ к конкретному MovieClip из кода.
У меня проблема какая то странная вообще.
На сцене лежит 2 мувика, один player а другой cursor. Для каждого прописан класс. И вот в коде класса для cursor я пишу: Код:
trace(player.x);Цитата:
|
это значит что у cursor нет свойства player
Вы ведь из класса курсо обращаетесь.. а это равносильно this.player.x, где this это cursor теоретически к player можно обратиться так: parent.player |
Попробавал:
Код:
trace(parent.player.name);Цитата:
ничё не пойму, в примерах везде из классов обращаятся к мувикам на сцене прямо вот так: имя_клипа.свойство ; И у них всё работает .... вообще не пойму. |
Во ! нашёл способ ... через parent только немного не так... а вот так:
Код:
var player = parent.getChildByName("player"); |
Можно еще и так:
parent["player"].x Только почему в данном случае не работает обычный доступ через точку. Может кто знает? |
Цитата:
Цитата:
Можно использовать кастинг в MovieClip, который динамический, и все будет работать: Код:
trace((parent as MovieClip).player.name); |
Спасибо за объяснение с точкой.
а почему доступ через [] нежелателен? |
Цитата:
Есть много причин. При таком обращении переменная должна быть публичной, что уже не очень хорошо. Сложный и запутанный код, не соответствующий грамотному ООП. И вообще, если есть необходимость такого обращения - рассылайте события. |
Цитата:
|
Цитата:
Цитата:
|
| Часовой пояс GMT +4, время: 23:22. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.