| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Flash > Объектное програмирование в Flash |
| Автор: Berliner 28.9.2005, 09:17 |
| Здраствйте я новичок во Flash! прочитал в книге про язык Flash(книга больше для дизайнеров и про язык толкового ничего нет) Скажите например если я кмнул кнопку "на форму" ка сделать так чтобы при навидении кнопка поменяла цвет? я так понимаю типа class Button{ Button1= new Button(); } Подскажите пример пожалуста |
| Автор: Berliner 28.9.2005, 10:13 |
| прочитал статью на форуме по ActionScript и ООП но меня интерисует любое практичское действие над обїектом кнопка которую я положу на форму. |
| Автор: AlDev 29.9.2005, 04:26 | ||
в библиотеке выставляешь as2 класс для клипа - myBtn |
| Автор: Berliner 29.9.2005, 14:30 | ||||
Вот такие ошибки я повесил кнопку и просто прописал код
|
| Автор: AlDev 29.9.2005, 19:35 |
| создай файл с разрешением as или сделай во Flash - new AS file (или как-то так)... потом сохрани его с именем myBtn.as в той-же папке, где fla. Во fla ыбери символ в библиотеке, правой кнопкой нажми на Linkage, выстави - export for action script. Там будет AS2 Class (или как-то так, не помню, а рядом Flash-а нету). Там пропиши myBtn. Усё. |
| Автор: Berliner 30.9.2005, 15:04 | ||
Добавлено @ 15:04 и что такое as Файл |
| Автор: Верлиока 30.9.2005, 20:08 | ||
| Berliner, прежде чем разбираться, как это работает, хорошо бы ответить на вопрос ЗАЧЕМ тебе это нужно? :) и нужно ли. кнопка или мувиклип, которые ты в редакторе кинешь на сцену для скрипта являются объектами. над этими объектами можно совершать разные действия. например перекрасить. :) 1. создал в редакторе кнопку (символ в библиотеке) 2. положил экземпляр этого символа на сцену 3. задал этому экземпляру имя в свойствах 4. скриптом перекрасил этот экземпляр допустим на сцене лежит кнопка с именем btn. перекрасить её в красный цвет можно так:
...и это уже вполне себе ООП. :) создали объект класса Color, вызывали его метод... ну да, не весь код инкапсулирован в классы... ну так оно и не надо в данном случае. :)) |
| Автор: Berliner 1.10.2005, 13:34 | ||
Спасибо буду разбираться
А где это я использую Falsh MX где это сделать в редакторе? Подскажи плиз |
| Автор: Верлиока 1.10.2005, 13:43 |
| окшко "свойства". либо открыть из верхнего меню редактора "windows" либо тыкнуть в экземпляр правой кнопкой мыши и выбрать "properties" либо тыкнуть в экземпляр левой кнопкой мыши и нажать ctrl+f3 |
| Автор: Berliner 5.10.2005, 14:14 |
| вот правой клавишей нажал вілезли свойства а где название я не знаю там токо можно вібирать Button, Movie Clip, Graphic но ведь это не имена где там имя прописать не знаю а ты скин шот не можешь выслать где имя объекта прописать? |
| Автор: Berliner 5.10.2005, 14:42 |
| помогите -я не прикалываюсь мне самогое главное в этой среде разобраться а програмировать я умею спасиб |
| Автор: Верлиока 5.10.2005, 18:26 | ||
сударь, вам не ООП во флэше изучить надо, а хотя бы уроки. туториал. если ты "умеешь программировать", могу сказать что экшнскрипт построен на спецификации http://www.ecma-international.org/publications/standards/Ecma-262.htm, как и яваскрипт, и джэй скрипт и еще много чего. соответственно ООП там не такое взрослое как в Си++ или Джаве, но зато удобно и допускает массу вольностей при написании кода. для того чтобы назначить имя экземпляру, нужно вписать идентификатор в окошко сразу под комбо боксом, где можно выбрать "Button, Movie Clip, Graphic". там в качестве подсказки выводится надпись "<instance name>" если никакого имени еще не задано. честно говоря уже слабо помню интерфейс шестого флэша, поэтому указания могут быть чуть-чуть неточными. |
| Автор: Berliner 11.10.2005, 19:58 | ||
| Вставил твой код и вот ошибки - хотя и задал в свойствах имя объекта(спасибо за подсказку) Может надо реакцию на какое-то событие? Типа реакцию на нажатие кнопки? Ошибка почему?
|
| Автор: AlDev 12.10.2005, 02:52 |
| а bl у тебя что такое? |
| Автор: Guest 12.10.2005, 14:24 |
| Название обїекта(кнопки) b1 |
| Автор: AntonioBanderaz 19.10.2005, 13:48 |
| Да потому что это только для таймлайна, а так это надо запихивать в конструкции типа on(rollOver) { ] |