![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2013
Сообщений: 290
|
Правильно ли я понимаю, что в экшнскрипт никто не работает со слоями?
То есть, слоёв не существуют для этого языка: нет ни свойств, ни методов, ни классов тождественных им. И если есть, например, мувиклип с шестью слоями, на каждом из которых что-то есть, то он разбивается на 6 отдельных мувиклипов, и они уже обрабатываются каждый программно. А если слоёный мувик имеет объекты, и его разбивать нельзя, то надо просто присвоить этим объектам классы и обращаться к ним непосредственно, опять же, игнорируя слоёность. |
|
|||||
|
Слои - удобный интсрумент для определения иерархий отображения. В конечном счёте, все отображаемые объекты оказываються в общем списке отображения родительского объекта.
http://help.adobe.com/ru_RU/FlashPla...Container.html
__________________
Дети не должны знать о своих родителях |
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Слои есть только во Flash IDE, в as3 у каждого элемента разве что есть свой z-индекс. Но можно написать и свою реализацию слоёв в своём же приложении.
Цитата:
Если во втором параграфе есть вопрос, я его не понял.
__________________
Oomph |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 290
|
Tails, просмотрел свойства класса, ну там вроде нет ничего со словом layers, то есть обходимся значениями индекса.
AlexLucas, Не совсем понимаю, почему вы зачеркнули слово классы. Ведь если например я создал в библиотеке мувиклип Tw1, и пролинковал его к классу, то я могу управлять им как-то так: В данном случае я же именно имя класса присвоил объекту, а не имя... Если вы имеете ввиду имя инстанции. Но имя инстанции это, насколько я понимаю, либо: 1. вот это: private var tw1:Tw1; 2. либо вручную указанное для мувиклипа <Instance Name>. Но это одно и тоже, разницы же нет, вроде. (Впрочем, возможно мы говорим об одном и том же). Цитата:
Выходит, обращение к каждому, обычное, никак не связанное с фактом что он на каком-то слое. P.S. За хинт с вложенностью мувиков спасибо что напомнили, я еще не экспериментировал с доступом к различным вариациями этого плана. |
|
|||||
|
[+1 16.07.13]
[+4 16.07.13] Регистрация: Oct 2005
Сообщений: 217
|
Понятия layers в AS3 нет, есть понятие глубина .Для управления глубиной есть несколько методов, например addChild добавляет визуальный объект с самым высоким индексом глубины.Смотрите методы DisplayObjectContainer.
|
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Цитата:
1) это ссылка на объект (может быть сколько угодно штук) private var objectLink:Object = {name:'myObject', x:0, y:0 ....} //objectLink это ссылка private var objectLinkTwo:Object = objectLink; //ещё одна ссылка на тот же обжект созданный выше Создавать на каждый объект по классу это не правильно. Класс это как шаблон по которому создаются объекты. Вы же не будете для каждой кнопки создавать по классу. Есть класс - Button (есть и другие естественно), и уже пользуясь им вы создаёте экземпляры кнопок. У меня не установлен флеш IDE сейчас, точно не могу сказать что там и как с библиотекой, не помню. Да, слои только в IDE.
__________________
Oomph Последний раз редактировалось AlexLucas; 12.08.2013 в 17:18. |
|
|||||
|
На мой взгляд термин layer относится к визуальному дизайну, а не к программированию. Вы пишете
Цитата:
Например, если создать в среде Flash два слоя; в одном нарисовать мувиклип с именем layer1, в другом - мувиклипы с именами layer2_1 и layer2_2; затем в коде написать команды то можно увидеть z-индексы объектов. Это слои в понимании языка AS, а не в визуальном представлении дизайнерской среды.
__________________
Мой профиль на фрилансе |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 290
|
Tails, AlexLucas, belv, SvetozarPNZ, по слоям в целом понятно, благодарю за разъяснения.
Цитата:
Причем их на стэйдже нет, они только в библиотеке. Как же тогда быть, если не создавать класс для каждого? Или может быть прописать им всем некий общий класс: Shape1, и... как-тогда обращаться к каждому экземпляру? Имен инстанций у нас еще нет, и как отличить звезду от эллипса, юзая только Shape1 - непонятно. Можно, конешно вручную помесить все три на стэйдж, вручную же прописать им <Instance name>, но... Что-то здесь не так, наверняка можно как-то проще и чисто кодом всё разрулить. |
|
|||||
|
[+1 16.07.13]
[+4 16.07.13] Регистрация: Oct 2005
Сообщений: 217
|
В библиотеке нажимаете правой кнопкой мыши на символ, выбираете popeties.В свойствах ставите галочку Export for ActionScript, в поле Class пишите имя класса Star и жмете ok.
После чего в коде Вы уже можете создавать их экземпляры и добавлять на сцену. Так вот элипс будет под звездой. |
|
|||||
|
Регистрация: Aug 2013
Сообщений: 56
|
Fogflasher, вы уж определитесь где они лежат
Вы до этого сказали что объекты в мувикеЦитата:
Цитата:
Если есть в библиотеке некий мувик, а в него вложены другие, то при создании экземпляра этого мувика вы сможете к ним обращаться внутри клипа так же как, если бы он изначально лежал на сцене. Имелось ввиду, что нет смысла создавать свой класс, для каждого объекта внутри мувика экземпляр которого не будет создаваться в коде отдельно и существовать как самостоятельный объект. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:37. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| actioscript 3.0 , layers , классы , слои |
|
|