
Как начать программировать на Action Script 3 если вы никогда не программировали!
Еще до того как я начал делать игры, я знал, что без программирования я далеко не уеду. Но вся проблема была в том, что я своей творческой натурой (дизайнера), не мог понять весь «смысл» кода. Как оказалось в последствии, программировать на АС3 очень легко, самое главное понять ЛОГИКУ языка. В этой статье я попытаюсь объяснить логику АС3 для тех кто никогда не сталкивался с программированием вообще.
И так представим, вы идете по тротуару, и вам надо перейти на другую сторону. Какие действия вы выполните? Сперва посмотрите нет ли машин слева, затем если их нету начнете движение, дойдя до середины вы остановитесь и посмотрите направо и далее если машин нету вы продолжите движение. И вот мы на другой стороне. Попробуем представить это со стороны вашего мозга:
Пробуйте — и у вас все получится!!!
И так представим, вы идете по тротуару, и вам надо перейти на другую сторону. Какие действия вы выполните? Сперва посмотрите нет ли машин слева, затем если их нету начнете движение, дойдя до середины вы остановитесь и посмотрите направо и далее если машин нету вы продолжите движение. И вот мы на другой стороне. Попробуем представить это со стороны вашего мозга:
- Начальная цель — перейти дорогу.
- Первое действие — посмотреть на лево.
- Состояние — если машин нету, идем. Если машина есть, опасность, ждем.
- Второе действие — посмотреть на право.
- Состояние — если машин нету, идем. Если машина есть, опасность, ждем.
- Конечная цель — дорога перейдена, цель достигнута.
- Начальная цель — переместить квадрат на 100 пикселей влево.
- Состояние покоя — ожидаем нажатие на квадрат.
- Действие при нажатии — двигаем квадрат.
- Состояние при движении — проверяем насколько сдвинулся квадрат, если начальная цель достигнута останавливаемся, иначе двигаемся дальше.
- Конечная цель — квадрат передвинулся на 100 пикселей, цель достигнута.
Пробуйте — и у вас все получится!!!
- +2
- romixx
Комментарии (27)
гораздо дельнее сказать что передвинуть квадрат можно так: sq.x--; sq.x-=1; sq.x=sq.x-1; чем просто сказать: двигаем квадрат.
Многие кстати не поймут объяснений пока не увидят конкретный пример =)
Я же попытался показать, как начать программировать, если ты вообще никогда этого не делал.
Вот давай я приведу пример чтобы было понятно. Стандартно практически все уроки выглядят так:
Но по сути правильнее было бы написать что:
«sq» — наш объект который мы собираемся двигать
«х» — координата по которой мы собираемся двигать
"-=" — математическая функция вычитания
«1» — значение которое будем вычитать
Вот такого детального описания, я не встречал практически нигде в уроках. Проблема в том, что почти все кто пишет уроки, думают что все гении и проще написать sq.x-=1; чем детально расписать что и зачем.
Набор функций, операций, типы данных, правила построения выражений, методы передачи параметров.
Если это ООП язык, то еще добавится тележка ООП правил для данного языка.
Все это нужно выучить 1 раз при изучении языка. А учитывая что многие языки похожи, этого хватит на много раз.
Это как для художника — понятие палитры, методы передачи перспективы, света и тени. Или как ноты для музыканта.
Подробно стоит описывать какие-то особенности. Что-то редко используемое, обход бага, способ работы с чем-то, про что нет внятной документации или какой-то сложный алгоритм например.
Возможно, под логикой — вы понимаете модель вычисления. В случае as3 — императивная, в которой вы описываете процесс вычисления в виде инструкций, изменяющих состояние программы.
Только для тех, кто не знает базы (типы данных, конструкции языка, структуры данных платформы, принципы ооп, и т.д. и т.п.) — это абсолютно бесполезно, т.к. человек не сможет «спустить задачу» на низкие уровни абстракции.
Поэтому лучше бы вы посоветовали новичкам учить матчасть, а там в хорошей книге — в примерах показывают процесс «от задачи, до кода».
Если хочется запрограммировать сложную задачу A, то надо ее разбить на более мелкие задачи Bi. Если какая-то задача Bi — тривиальная, то ее программируем. Если Bi — сложная, то поступаем с ней как с задачей A.
А вот если заменить «программировать» на «решить», то получится универсальный метод избавления от проблем :)
Надо знать базовые вещи языка.
А дальше самое сложное — составить алгоритм
Потом оформить в виде псевдокода (опционально).
Запрограммировать то, что уже понятно и разложено по полочкам не составляет труда.
Описывать логику написания кода — нужно. Но только не так уж сильно утрируя тему.
Самое главное что я считаю важным знать при изучении языка программирования, это английский язык.Если не знать его многое можно не понять, если не знать в начале, то смотреть в переводчике каждое слово в программировании.
Я например начав изучать c++ был удивлен тому что все задается понятными словами if,else,include…
Кстати вот урок по которому я сделал первую игру
demiart.ru/forum/index.php?showtopic=87659
Во втором комментарии к этой статье есть ссылка на мою игру)))
Я таким образом «делал» подгрузку картинок с xml, примеров валом, а что я делаю непонятно. В итоге пока мне человек каждую строку кода не разжевал, я не мог понять что к чему.
Главное что этот урок мне помог.Там и структура приведена, и код, и объяснено, так еще и скриншоты чуть ли не как каждому действию.
Вот сам представь, как бы ты отнесся к этому уроку, если бы горел желанием сделать игру?
Я бы сказал:«все конечно круто, а игру то как сделать?».