Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

PyGame. Введение

Чулан

PyGame. Введение.


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

Почитать
Всего голосов 16: ↑16 и ↓0 +16
Просмотры8.3K
Комментарии 12

Персональный зоопарк или немного о Pygame — Часть 1

Python
image
Для тех, кто не в курсе: Pygame — это очень и очень неплохой фреймворк для разработки игр на языке Python. Причем поддерживается не только работа с 2D и 3D, но и при желании можно установить биндинги ко многим популярным графическим и физическим движкам. Кстати, Pygame вовсе необязательно использовать именно для игр, можно также создавать и программы с необычным интерфейсом, например, какой-нибудь трехмерный фронтенд к базе данных.
Вот мне, собственно, и захотелось рассказать об основных принципах работы с этим фреймворком, мало ли, может, пригодится кому :)
Ну что, погнали?
Всего голосов 70: ↑69 и ↓1 +68
Просмотры36.3K
Комментарии 37

Несколько занимательных Python-проектов

Python
Вступление.

Я долго думал, создавать ли этот топик.
Аргумент против: творения не мои, поэтому инвайта ожидать не стоит, а в силу отсутствия исходников полезность статьи не велика.
Аргумент за: я был сильно впечатлен увиденным, а искать что-то касающееся Python-а и программирования в целом на просторах youtube-a вряд ли кто-то станет.

Так что в конце-концов я все же решил поделиться увиденным с публикой. А поделюсь я с Вами несколькими видео-роликами, раскрывающими возможности ряда программ, написанных на питоне с использованием модуля pygame. Основная тематика приложений — различного рода симуляции.

Об авторе (но не от автора).

Автором всех шести приложений является Badmephisto — студент из Словакии, живущий в настоящее время в Канаде. Он весьма известен как спидкубер, но, как мне кажется, не менее талантлив в программировании. Еще он замечательный математик, увлекающийся фракталами.
Ссылки: Cubing site, Youtube account, Fractalmath channel.

Читать дальше →
Всего голосов 24: ↑19 и ↓5 +14
Просмотры9.5K
Комментарии 11

Знакомство с Pygame Subset for Android

Разработка под Android
Из песочницы
Здравия желаю.

Хочу поделиться результатами своего знакомства с Python (которое началось не так давно), а в частности с портом на платформу Android довольно известной медиа-библиотеки Pygame (которая, в свою очередь, является оберткой для не менее известной SDL). Поскольку поиск на хабре по теме поста не дал результатов, рискну предположить что тема ранее не поднималась, но в тоже время будет интересна людям, заинтересованным в применении Python для разработки приложений, использующих медиаконтент, в том числе для Android.
Читать дальше →
Всего голосов 27: ↑22 и ↓5 +17
Просмотры17.6K
Комментарии 6

Doodle Jump на pygame

Python
Добрый…
Хочу рассказать и показать вам свой опыт знакомства с библиотекой pygame — предположительно отличной библиотекой для реализации графичиских приложений (в большей степени игр-аркад) на языке python. Для примера была реализована (частично) игра Doodle Jump.
Поехали
Всего голосов 40: ↑37 и ↓3 +34
Просмотры21.5K
Комментарии 15

Плеер на pygame

Python
Из песочницы
Hello world, %Username%. Я заметил, что в последнее на Хабре время достаточно много постов про python. Да, язык набирает популярность. Ура товарищи! Вот и я решил приобщиться к этому языку. Достаточо скоро надоело хэлловорлдить и захотелось мне написать что то нужное.Лирическое отстпуление: Перешел с win на ubuntu(Знаю, что попса, но ради дела, а не понта делается) и понял, что нет приемлимого аудиопроигрывателя в моем поле зрения, все проигрыватели предлагали либо выглядели не приятно, либо были слишком тяжелыми. Немного поленившись я взялся за дело.
Читать дальше →
Всего голосов 20: ↑10 и ↓10 0
Просмотры4.4K
Комментарии 12

Автотрекинг низкоорбитальных спутников или Слушаем радиосигнал с МКС

Стандарты связи


Американский инженер и радиолюбитель Трэвис Гудспид (Travis Goodspeed) на конференции Summercon 2013 продемонстрировал самодельную систему автоматического наведения спутниковой тарелки на движущиеся цели. Дизайн системы он опубликовал в открытом доступе, программы для управления написаны на Питоне.
Читать дальше →
Всего голосов 55: ↑49 и ↓6 +43
Просмотры26.6K
Комментарии 21

Пишем платформер на Python, используя pygame

PythonРазработка игр
Из песочницы
Tutorial
image
Сразу оговорюсь, что здесь написано для самых маленькихначинающих.

Давно хотел попробовать себя в качестве игродела, и недавно выпал случай изучить Python и исполнить давнюю мечту.

Что такое платформер?


Платформер(platformer)— жанр компьютерных игр, в которых основной чертой игрового процесса является прыгание по платформам, лазанье по лестницам, собирание предметов, обычно необходимых для завершения уровня.
Вики

Одними из моих любимых игр данного жанра являются «Super Mario Brothers» и «Super Meat Boy». Давайте попробуем создать нечто среднее между ними.
Читать дальше →
Всего голосов 93: ↑89 и ↓4 +85
Просмотры280.7K
Комментарии 46

Пишем платформер на Python. Часть 2. Подчасть 1, подготовка к созданию редактора уровней

PythonРазработка игр
Tutorial

Привет, друзья!

Продолжаем разбираться с нашим МариоБоем. Начало тут, продолжение тут. В этой подчасти второй части мы сделаем приготовление для создания редактора уровней, а именно: добавим турбо режим бега герою, смертельно опасные платформы, движущиеся монстры, телепортеры, принцессу и парсер уровней, дабы во второй подчасти не отвлекаться на всё это.
Внимание! Картинки!
Всего голосов 37: ↑33 и ↓4 +29
Просмотры54.7K
Комментарии 17

Пишем платформер на python, используя pygame. Часть 2 подчасть 2. Редактор уровней

PythonРазработка игр
Tutorial

Привет, друзья! Сегодня мы наконец-то доделаем нашего мариобоя. Начало тут и тут. Вот только мы не будем изобретать свой велосипед в виде редактора уровней, а воспользуемся готовым мощным инструментом. За знакомство с которым я благодарен господам(товарищам) sourcerer и Tarvitz

Почему так?


На это есть несколько причин
  • Удобный редактор уровней не пишется за 5 минут, лучше потратим это время на допиливание самой игры
  • Более легкий способ добавления в игру разных на вид типов блоков
  • Tiled map editor является универсальным инструментом для 2d игр, разобравшись с ним единожды, мы приобретаем навык генерации уровней для разных игр, написанных на разных языках и технологиях

Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Просмотры33.3K
Комментарии 13

Соединяем эллиптический тренажер и pygame

PythonРазработка игр
Привет, друзья! Случилось однажды так, что для восстановления после травмы я прикупил себе такой вот прибор.

Со своими прямыми обязанностями он справлялся вполне удовлетворительно, но было одно «но», и заключалось оно в том, что спидометр путался в показаниях, и следовательно, показывал разные результаты по пройденной дистанции. Если идти достаточно медленно, то спидометр вообще молчал. И решено было сделать свой спидометр с… ну вы поняли.
Что из этого получилось
Всего голосов 54: ↑52 и ↓2 +50
Просмотры22.2K
Комментарии 9

Питон, смещение тона и Пианопьютер

Python
Перевод
От переводчика:

Статья, которую я предлагаю вам почитать, не нова — она опубликована аж 29 марта. Но на Реддите ее запостили всего несколько дней назад, да и актуальности своей она точно не потеряла. Интересность ее в том, что автор на простом и коротком примере демонстрирует практическое применение трех больших и популярных библиотек: numpy, scipy и pygame. Про первые две многие слышали, но все больше в контексте научных работ, так что интересно посмотреть на их применение в «обычной» жизни. В конце статьи прекрасная видео-демонстрация результата, хотя бы ее точно стоит посмотреть.

Авторский код сохранен без изменений, несмотря на то, что он оформлен не по PEP-8 и за его валидность я не ручаюсь. Настоящий рабочий код так или иначе есть на ГитХабе, ссылку вы найдете в конце статьи.

Запишите звук, измените тон 50 раз и сопоставьте каждому новому звуку клавишу на клавиатуре компьютера. Получится Пианопьютер!

Читать дальше →
Всего голосов 55: ↑43 и ↓12 +31
Просмотры14.6K
Комментарии 17

Pygest #19. Релизы, статьи, интересные проекты, пакеты и библиотеки из мира Python [20 ноября 2017 — 5 декабря 2017]

PythonУчебный процесс в ITЧитальный зал

image Всем привет! Это уже девятнадцатый выпуск дайджеста на Хабрахабр о новостях из мира Python.

Присылайте свои интересные события из мира Python. Вместе мы сделаем Python еще лучше:)

Итак, поехали!



Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Просмотры9.4K
Комментарии 10

Pygest #21. Релизы, статьи, интересные проекты, пакеты и библиотеки из мира Python [1 января 2018 — 17 января 2018]

PythonЧитальный зал

image Всем привет! Это уже двадцать первый выпуск дайджеста на Хабрахабр о новостях из мира Python.

Присылайте свои интересные события из мира Python.

С предыдущим digest можно ознакомиться здесь.

Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Просмотры9.1K
Комментарии 4

Создание игр на Python 3 и Pygame: Часть 1

PythonРазработка игр
Перевод
Многие разработчики приходят в разработку ПО, потому что хотят создавать игры. Не все могут стать профессиональными разработчиками игр, но любой может создавать собственные игры из интереса (а может быть, и с выгодой). В этом туториале, состоящем из пяти частей, я расскажу вам, как создавать двухмерные однопользовательские игры с помощью Python 3 и замечательного фреймворка PyGame.

(Остальные части туториала: вторая, третья, четвёртая, пятая.)

Мы создадим версию классической игры Breakout. Освоив этот туториал, вы будете чётко понимать, что необходимо для создания игры, познакомитесь с возможностями Pygame и напишете собственный пример игры.

Мы реализуем следующие функции и возможности:

  • простые стандартные GameObject и TextObject
  • простой стандартный Game object
  • простая стандартная кнопка
  • файл конфигурации
  • обработка событий клавиатуры и мыши
  • кирпичи, ракетка и мяч
  • управление движением ракетки
  • обработка коллизий мяча с объектами игры
  • фоновое изображение
  • звуковые эффекты
  • расширяемая система спецэффектов

Не стоит ожидать, что игра будет очень красива графически. Я программист, а не художник, меня больше интересует эстетика кода. Созданный мной дизайн может неприятно удивить. С другой стороны, у вас будут почти неограниченные возможности по улучшению графики этой версии Breakout. Если вы отважитесь повторять за мной, посмотрите на скриншот:


Готовый исходный код выложен здесь.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры243.1K
Комментарии 4

Создание игр на Python 3 и Pygame: Часть 2

PythonРазработка игр
Перевод
Tutorial
image

(Остальные части туториала: первая, третья, четвёртая, пятая.)

Во второй из пяти частей туториала, посвящённого созданию игр с помощью Python 3 и Pygame, мы рассмотрим класс TextObject, используемый для рендеринга текста на экране. Мы создадим основное окно, в том числе и фоновое изображение, а затем научимся отрисовывать объекты: кирпичи, мяч и ракетку.

Класс TextObject


Класс TextObject предназначен для отображения текста на экране. Можно сделать вывод, что с точки зрения дизайна он должен быть подклассом класса GameObject, потому что тоже является визуальным объектом и его тоже иногда нужно двигать. Но я не хотел вводить глубокую иерархию классов, при которой весь отображаемый Breakout текст оставался на экране неизменным.

Класс TextObject создаёт объект шрифта. Он рендерит текст на отдельную текстовую поверхность, которая затем копируется (рендерится) на основную поверхность. Интересный аспект TextObject заключается в том, что у него нет какого-то фиксированного текста. Он получает функцию text_func(), вызываемую каждый раз, когда он рендерится.

Это позволяет нам обновлять отображение жизней и очков в Breakout, просто создав функцию, возвращающую текущие жизни и очки, а не отслеживать то, какие текстовые объекты отображают очки и жизни и обновлять их текст при каждом их изменении. Это удобный трюк из функционального программирования, и в крупных играх он позволяет поддерживать удобство и аккуратность программы.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры42.4K
Комментарии 5

Создание игр на Python 3 и Pygame: Часть 3

PythonРазработка игр
Перевод
image
(Остальные части туториала: первая, вторая, четвёртая, пятая.)

Это третья из пяти частей туториала о создании игр с помощью Python 3 и Pygame. Во второй части мы рассмотрели класс TextObject, используемый для рендеринга текста на экран, создали основное окно и узнали, как отрисовывать объекты: кирпичи, мяч и ракетку.

В этой части мы погрузимся глубже в сердце Breakout и узнаем, как обрабатывать события, познакомимся с основным классом Breakout и увидим, как перемещать различные объекты в игре.

Обработка событий


В Breakout есть три типа событий: события нажатий клавиш, события мыши и события таймера. Основной цикл в классе Game обрабатывает нажатия клавиш и события мыши и передаёт их подписчикам (вызывая функцию-обработчик).

Хотя класс Game очень общий и не обладает знаниями о реализации Breakout, сама подписка и способы обработки событий очень специфичны.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры19.5K
Комментарии 0

Создание игр на Python 3 и Pygame: Часть 4

PythonРазработка игр
Перевод
Tutorial
image

Это четвёртая из пяти частей туториала, посвящённого созданию игр с помощью Python 3 и Pygame. В третьей части мы углубились в сердце Breakout и узнали, как обрабатывать события, познакомились с основным классом Breakout и увидели, как перемещать разные игровые объекты.

(Остальные части туториала: первая, вторая, третья, пятая.)

В этой части мы узнаем, как распознавать коллизии и что случается, когда мяч ударяется об разные объекты: ракетку, кирпичи, стены, потолок и пол. Наконец, мы рассмотрим важную тему пользовательского интерфейса и в частности то, как создать меню из собственных кнопок.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры28K
Комментарии 4

Создание игр на Python 3 и Pygame: Часть 5

PythonРазработка игр
Перевод
Tutorial
image

Это последняя из пяти частей туториала, посвящённого созданию игр с помощью Python 3 и PyGame. В четвёртой части мы научились распознавать коллизии, реагировать на то, что мяч сталкивается с разными игровыми объектами и создали игровое меню с собственными кнопками.

(Остальные части туториала: первая, вторая, третья, четвёртая.)

В последней части мы рассмотрим различные темы: конец игры, управление жизнями и очками, звуковые эффекты, музыку и даже гибкую систему спецэффектов. На десерт мы рассмотрим возможные улучшения и направления дальнейшего развития.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры24.2K
Комментарии 0

Может ли геймпад заменить клавиатуру? Пробуем программировать на стиках

PythonПериферияИгры и игровые приставки
Перевод
image

Введение


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

Из-за малого количества кнопок на геймпаде никто не рассматривал их как средство ввода объёмных текстов, например, в программировании.

Однако аналоговые стики (а у большинства геймпадов их два) имеют потенциал обеспечения бесконечного количества вариантов ввода. Вопрос сводится к выбору подходящих жестов для максимальной эффективности и минимального напряжения больших пальцев.

Для геймпадов существует множество способов ввода текста. Если вы когда-нибудь играли в консольные игры, то, скорее всего, использовали какой-то из них.


Экранный ввод текста в Legend of Zelda

В Legend of Zelda игрок должен по очереди выбирать буквы при помощи крестовины со стрелками и каждый раз нажимать кнопку подтверждения для добавления буквы в поле ввода текста.
Читать дальше →
Всего голосов 42: ↑42 и ↓0 +42
Просмотры8.6K
Комментарии 17
1