![]() |
Я понял что AS мне почти непонятен.
Немогу понять логику АС3... Сам пишу на нескольких языках, но тут тупик.
Сделать мне нужно следующее: Генерю на ПХП при запросе из Флеш - ХМЛ файл. В файле хранится инфа с форума "название темы", "линк на тему", "краткую выдержку из темы". Я хочу освоить АС и флеш, потому взялся делать это через попу... Конечно ЦСС и ПХП решили бы мою проблемму очень быстро, но мне хочется сделать меню на флеше которое куда не воткни - всюду будет работать - дай ей только ХМЛ... Ну так вот. Я слегка научился работать с ХМЛ Код:
import flash.display.Sprite;Как мне теперь сгенерить на одном слое несколько объектов аля текстовые поля и шоб оно хранило в себе или где то снаружи не только тему но и ссылку и описание. Я нашел пример для генерации лейблов но не смог его прикрутить. Думаю дела на 10-15 строк кода но для меня это ПОКА нереально. Помогите, я пойму и дальше уже сам... Структура ХМЛ проста... Код:
<menu> |
а о каких слоях идет речь?
|
те что в swf файде фля "Layer 1", "layer 2"
Просто по непонятным мне причинам я не могу превязать событие отслеживающее нажатие мыши например если объект кнопка например лежит на том же слое где и вышеописанный код. |
я не оперирую слоями когда пишу на AS3 (хотя я не профи)... И вообще AS3 не пишется в слоях, а пишется в DocumentClass,
соответственно отправляю в хелп How ActionScript 3.0 event handling differs from earlier versions Event listeners Class Event ... |
Код AS3 пишется во внешних *.as файлах, а слоев в конечном swf вообще нет.
|
Я уже тоже начал понимать что АС и слои в SVF это разное, но я не понимаю, неужели я не могу использовать графику создаваемую во флеш и код в AS? У меня уже истерика... Не понимаю тогда нафиг АС нужен если проще писать на VB или Java script и использовать CSS и красивенькие классненькие флеш вставки.
_etc - я не преследую целью писать скрипт во внешнем файле. Мне нужно достичь цели (но на текущий момент я пытаюсь это сделать во флеш и АС), хотя уже сомневаюсь в правильности выбора. Я адаптировал код для подгрузки ХМЛ в сам флеш документ а не во внешний as файл, но толку 0, так как я могу засунуть в текстовое поле значение из ХМЛ НО ЧЕРТ ПОДЕРИ НЕ МОГУ сделать его нажимаемым... Когда я использую в 1 кадре слоя вышеописанный код для ХМЛ я не могу используя АС3 привязать к объейту событие аля: Код:
on (release){кстати тот код что в самом начале, он же не для класса и внешнего файла, там просто функция и она работает. Мне нужно лиш дополнить ее и сделать генерацию лейблов с текстом и возможностью кликать на них... остальное как я понимаю я нарисую на другом слое без программирования - чисто мышкой. |
Цитата:
Если вам горит, то опишите лейаут в CSS и HTML, потом логику в JS и все будет хорошо. |
Код:
var myMovie:MyLibrarySymbol = new MyLibrarySymbol();значения из XML запихивать в массивы, или двумерный массив |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Я так понял, что - это для возможности перехватить из внешнего документ-класса события мыши "Клик"? А без внешнего просто привязва к объекту как это было в АС2 нельзя? Ну я раньше просто добавлял к объекту Кнопка событие "On" и все работало. Вот вопрос какой- как мне добавить Энное кол-во лейблов (текстовых полей) с определенными параметрами? (не в классе и где то снаружи, а просто функцией во флеш проекте) Просто я уже склонен к тому, что придется делать флеш-swf который будет из себя представлять одну кнопку... в нее я из ХТМЛ кидаю параметры через ПХП и эта кнопка вызывает только 1 ссылку... И так на ПХП 10 раз например... будет 10 кнопок а фон и рамки на ЦСС. Но ведь не хочется так... |
мой код всталвется в первый фрейм клипа, documentClass не причем...
я по-прежнему не понимаю понятие слоев, в моем понимании слои - это то что в Фотошопе, просто способ распределения графики, я думаю здесь речь идет о таймлайнах, которые у каждого клипа свои. так вот к таймлайну каждого клипа можно обратиться через переменную и тем самым управлять перемещением по фреймам (gotoAndStop, gotoAndPlay и т.д.)... хотя что-то я не понимаю... меню на xml я бы создавал следующим образом: 1) класс, читающий и парсящий XML с заданной структурой и возвроащающий либо сам XML либо массивы со значениями. 2) класс MenuItem, получающий данные из XML (можно создать в билиотеке симбол, разукрасить его графически и присвоить этому символу класс MenuItem) 3) DocumentClass,который собирает все MenuItem на сцене... |
так.
1) у меня есть Код:
package {2) Как мне добавить 2ой класс? Да я уже экспериментировал и понял что паблик класс в Документ Классе может быть только один, а что приватных может быть несколько. Но когда я объявлял приватный класс в DocumentClass, то не знал как к нему обратиться. Точнее что бы я не делал у меня всегда выполнялся только тот паблик класс и функции в нем. Нюансов куча... очень непонятно почему язык так усложнен. 3) рано еще мне. мне бы как я понял из этого DocumentClass выкинуть свой ХМЛ класс а затем уже в него сборщик MenuItem сунуть. Опять же не совсем понимаю, как в одной функции может быть вложена еще одна. Хотя это пожалуй и удобно, но фактически это аналог if и цикла в своей совокупности. |
2-ой класс:
1) создаешь AS класс например MenuItem.as, в нем пишешь как обычно для классов делаешьтак чтобы твой класс menuItem принимал значения из XML Код:
package3)в первом фрейме главного fla документа или в document class этого fla файла создаешь экземпляр своего XML загрузчика Код:
var myXmlLoader:UniversalLoader = new UniversalLoader("Texts/MainLauncher.xml","xml") |
С синтаксисом я наврное разберусь сам. Столько уже перелопатил за 3 дня.
Спасибо за конкретику. Буду пробовать. Но вопрос, где объявлять дополнительные классы кроме того, что прописан в DocumentClass. Ведь там прописывается только 1 файл AS. А проект должен знать свои классы... http://www.flashblog.ru/?p=87 <= Практически оно %)) надеюсь поможет тем, кто задастся таким же вопросом как и я. |
Shinoby, пожалуста объединяйте друг за другом следующие поста. Для этого есть кнопка «изменить».
|
| Часовой пояс GMT +4, время: 14:57. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.