Skip to content

nadezhdagub/Flappy-birds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

Flappy-birds

Два главных элемента геймплея, с которыми нам предстоит разобраться, это Птица и Трубы.
После быстрого анализа птицы, видно, что размеры оной 17 пикселей (ширина) х 12 пикселей (высота).
Так же птичка использует всего 7 цветов и занимает всего 1/8 от ширины игрового экрана (на глаз ширина
экрана примерно 135-136 пикселей). Так же птичка масштабируется, чтобы хорошо выглядеть на девайсах с различной шириной экранa

Физика птицы

Во время падения — птица ускоряется. Но есть ограничение — птица не может падать быстрее выставленного ограничителя. Если тыкнуть по экрану — птица подпрыгнет на одно и тоже значение по высоте, вне зависимости от скорости падения. Птица повернута в соответствующую сторону движения, т.е. падая — птица смотрит внизу, взлетая — вверх. Анимация (взмах крыльями) присутствует только когда птица летит вверх.

Трубы

В один момент времени мы должны генерировать 4 труб, в оригинальной игре никогда не видно более 4-ти труб. Трубы появляются с одним и тем же интервалом, так что растояние между трубами будет константой. Как только один набор труб скроется за левой границей экрана, мы переопределим высоту (подробнее — далее) труб и переместим их за правую границу экрана в правильное положение в очереди следующих труб. Пустое пространство между трубами имеет разную позицию по высоте, но всегда один и тот же размер. Самый легкий способ — это реализовать — мы будем смещать по Y трубу на случайное значение, когда происходит перемещение по Х.

Анимация

Это невероятно простая игра. Статические элементы в ней — это задний фон и песок. Они никогда не меняются. Птица зафиксирована горизонтально, примерно 1/3 от ширины экрана. Трава(?) и трубы — это единственные элементы в игре которые необходимо скролить горизонтально, и они скролятся с одинаковой скоростью.

Методы

В папке spriets находятся классы, где описываются непосредственно объекты.
В папке states находятся классы, где описывается интерфейс игры и движение объктов

State-реализация экранного пространства-состояние игры.

GameStateMeneger-управление окнами. Игра и пауза.

MenuState- экран меню где подключаются графические ресурсы.

PlayState-игровой экран. Добавляем птичку и создаем экземпляр в конструкторе и д.

Bird-создает птичку, опимывает ее поведение, т е скорость и позицию, направление движения,
текстура при нажатии. Реплизация силы тяжести в update импользуя gravity. Метод аdd доп знач
к вектору, потому умнажаем вектор на скаляр промежутка времени. Делаем изменение скорости птички
при пмдении. Всегда создаем экщемпляр в конструкторе.

Tube трубы. Две тексткры на верхнюю и нижнюю трубв. Пишем конструктор, присваиваем кпртинки в нем.
В Random делаем трубы на разной высоте. Делаем позиции просвета. Верхняя трупа рандомно, а нидня
строится по верхней и фиксированному просвету.. устанавливаем рассточние по ширине. Делаем 4 комплекта труб.
Трубы запихиапем в массич. . Устанавливаем ширину трубы.. трубы не двигаются. Двигается только камера
и птица, при этом прикрерляем позицию камеры к позтуии птицы

Animation- махание крыльями.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages