Однако не бойтесь этого, потому что тут совсем немного методик и техник, которые вы не видели ранее, и большая часть кода проста. В этой игре может происходить много событий, для проверки наступления которых нам потребуется код. Например, когда мы обнаруживаем столкновение героя с платформой, нам нужно сделать следующее:
1. Проверить левую сторону. При столкновении переместить героя.
2. Проверить правую сторону. При столкновении переместить героя.
3. Проверить верх. Если герой сверху, то нам также нужно немного переместить героя, если платформа двигается?
4. Проверить низ. Если герой наталкивается снизу, есть там собираемые объекты? Если да, сколько? Герой присел под платформой? Если да, вывести его.
Это несложные вещи – просто нужно охватить много ситуаций. Это лишь некоторые из вопросов обнаружения столкновения с платформой, задаваемые с помощью кода. Выше я даже не включил свойства проницаемости, которые нам нужно проверить (для дерева)!
Эта игра использует очень объектно-ориентированный (OO) подход. Я использовал мои начальные знания OO программирования для создания этой игры, и я удовлетворен результатами. Код прост для понимания и может быть расширен без необходимости его переписывания.
Объектно-ориентированное программирование
Последние несколько лет сильно подтолкнули Flash-кодеров начать кодировать объектно-ориентированным (OO) способом. OO-кодирование, известное также как Объектно-Ориентированное Программирование (OOP), не содержит никакого синтаксиса, с которым вы еще не знакомы. Это скорее состояние сознания и приверженность некоторым конструкциям. Мы использовали многие техники OO на протяжении этой книги – например, алгоритм A*, объект isometricAS, и объект ElectroServerAS (который вы видели в Главе 13, «Препарирование чата»; и в главах 17 и 18 по многопользовательским играм, «Крестики-нолики: ваша первая многопользовательская игра» и «9 шаров»). Когда вы видите что-то, закодированное в манере OO, это обычно довольно просто для понимания