Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Разница между кодом в кадрах и в пакетах/классах (http://www.flasher.ru/forum/showthread.php?t=202976)

Frost47rus 25.08.2013 02:25

Я сразу учился писать в FD с нулевого уровня 1.5 года назад.
Проблем не испытывал и не испытываю.

Akopalipsis 25.08.2013 02:26

На деле я даже ещё не одной кнопки не сделал... Сделать я конечно могу, но не сделал)))
Не успел написать, чтобы к предыдущему посту добавилось))

Frost47rus 25.08.2013 02:30

Как по мне, FD даёт более полное понимание структуры проекта и её важности. Дерево классов - наглядно. В отличие от кода в кадрах.

Akopalipsis 25.08.2013 02:33

Для меня там сложность была в том, что синтаксис классов и свойств не подсвечивается. я не понимал, правильно я пишу или нет.

Wolsh 25.08.2013 19:24

Цитата:

На деле я даже ещё не одной кнопки не сделал...
Кнопка это слишком сложно для человека, обработанного размышлениями о паттернах. Начните с чего попроще. Идеальное задание "для новичка" это чекбокс. В нем, с одной стороны, очень мало мяса и он целиком помещается в сознании. С другой стороны, в нем есть почти все кости AS3 — Событийная Модель, структура Списка Отображения, программное рисование, и с парадигмами ООП есть где развернуться, если поставить себе задачу сделать действительно универсальный, реюзабельный чекбокс. Потом уже можно к кнопкам переходить, у них как раз с последним очень все запущенно. Там самое сложное это найти где поставить точку, то есть осознать, что абсолютно универсальный класс кнопки написать невозможно и найти оптимальный вариант между комбайном и серпом.
Цитата:

синтаксис классов и свойств не подсвечивается.я не понимал, правильно я пишу или нет.
Каких классов и свойств? Даже если не подсвечиваются методы и свойства Ваших собственных классов, то автокомплит то у них все равно есть, как можно написать неправильно? А уж у "родных" адобовских классов подсвечивается всё. Разве что в списке кейвордов по-умолчанию многого не хватает.. Ну так дописать надо))

Akopalipsis 25.08.2013 20:35

Wolsh я прочёл Ваши слова и решил попробовать сделать..
И у меня сразу вопрос возник. Если делать действительно универсальный, то какие должны быть представления - вектор или растр? я смотрю на фреймворки, на работы которые выкладывают на конкурсы и там везде растр... Вообще вот в настоящем мире с чем чаще работают?

alatar 25.08.2013 21:18

Цитата:

Сообщение от Wolsh (Сообщение 1144711)
Кнопка это слишком сложно для человека, обработанного размышлениями о паттернах. Начните с чего попроще. Идеальное задание "для новичка" это чекбокс.

Эээ... Как чекбокс может быть проще кнопки если это и есть кнопка? Точнее это ToggleButton выглядящий как чекбокс. ToggleButton, в свою очередь, кнопка с дополнительным свойством selected и дополнительными состояниями selectedOver и selectedDown.
P.S. Чтобы познать рекурсию надо познать рекурсию :)

Wolsh 25.08.2013 22:54

Так то оно так, в этом есть педагогический фокус. Чекбокс в 90% случаев не содержит никаких эффектов и анимаций переходов — он слишком мал, чтобы это имело смысл. Автоматически ученик об этом и не задумывается, концентрируясь на состояниях и на тру ООП. В случае с кнопкой же многообразие возможных визуальных реакций сбивает с толку и засоряет мозг. Чекбокс можно делать по нарастающей, от совсем простого "рамочка и +-квадратик", накручивая состояния, возможность добавлять иконки извне или устанавливать цвета для внутреннего рисования, работать с лейблом. Чекбокс проще умещается в мозгу. У кнопки больше разнообразие элементов, требующих внимания. У нее может быть иконка, может не быть иконки, может быть текст, может не быть текста, может быть и то и другое или не быть ничего. И меняться в разных состояниях. И по-разному может быть устроена реакция на ресайз кнопки. Наконец, у кнопок в 10 раз больше специфических вариантов поведения для разных целей. А чекбокс это просто ToggleButton, и то без излишеств.

Добавлено через 14 минут
Akopalipsis, я понятия не имею, с чем работают в реальном мире)) Я никогда не делал сам чекбокс как "просто чекбокс", у меня он всегда является частью библиотеки GUI. Если честно, мне даже в голову никогда не приходило делать чекбокс из битмапов. Для игр это, наверное, самое то; однако интерфейс для игр всегда уникален/индивидуален, и нередко хитро анимирован, здесь это ни к чему. Вам надо определиться только с подходом: будут ли состояния добавляться извне как DO или рисоваться внутри. Выберите что-то одно, или придумайте как иметь оба варианта)) Однако в случае с библиотекой контролов визуальные элементы чекбокса [скорее всего] будут экземплярами других библиотечных классов - лейбла, панельки, иконки. Как я уже говорил, в такой на вид маленькой штучке есть куда развернуться.

Frost47rus 25.08.2013 23:41

По поводу растр/вектор можно сделать универсально, если для компонентов назначить инициализацию с назначением отображения.
Код AS3:

private var state_up_layout:DisplayObject;
private var state_over_layout:DisplayObject;
private var state_down_layout:DisplayObject;
private var state_selected_layout:DisplayObject;
 
public function setStateLayout(state:int, layout:DisplayObject):void{
// назначение
}

Тут кто как привык делать.

Akopalipsis 25.08.2013 23:54

Wolsh Мне до утильсов ещё далеко, поэтому я попробую сделать просто как отдельный компонент ( только сначала разберусь с программным рисованием деревьев, а это как я понял на долго ) и как сделаю просто покажу Вам в этой теме как оффтоп. Мне очень важно, именно в педагогических целях, чтобы мне сказали - так ли я делаю или нет. И буду надеяться, что Вы скажите, что там не так...
А по поводу растра я спросил не просто так, но тут об этом не буду, а чуть попозже просто новую тему создам и спрошу именно по нему.

Добавлено через 13 минут
Цитата:

Тут кто как привык делать.
я немного подумал как делать и первое, что пришло на ум - Фабрика! Но это только из-за универсальности, чтобы, если надо квадратный - то квадратный, если горизонтальный, то его. Сначала думал модель пристроить, но ей места ненашлось)


Часовой пояс GMT +4, время: 03:42.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.