<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

Этот курс научит Вас созданию самых разных сайтов на самой популярной в мире CMS - WordPress. Вы увидите установку и настройку локального сервера, разбор каждой настройки, каждой кнопки и каждого пункта меню в панели WordPress.

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

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Создаем игру с Pygame и Python. Добавление границы игрового поля

Создаем игру с Pygame и Python. Добавление границы игрового поля

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

В библиотеке Pygame присутствует метод возвращающий ширину и высоту экрана. Зная это можно создать метод принимающий два аргумента первый это position - позиция спрайта, а второй surface или поверхность игрового поля. Далее мы разделим позицию x и y по модулю на высоту и ширину экрана. Деление по модулю в Python представлено знаком % и возвращает остаток от деления двух чисел.

Начнем с импорта класса Vector2 в файл space_rocks/utils.py :


from pygame.image import load
from pygame.math import Vector2

# затем добавим там же метод wrap_position()

def wrap_position(position, surface):
    x, y = position
    w, h = surface.get_size()
    return Vector2(x % w, y % h)

# Используя оператор по модулю %, можно убедиться, что позиция никогда не покидает область заданной поверхности. В нашей игре такой поверхностью будет экран.

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

Импортируем вновь созданный метод в space_rocks/models.py:


from pygame.math import Vector2
from pygame.transform import rotozoom

from utils import load_sprite, wrap_position


# теперь немного изменим метод move() в классе GameObject

def move(self, surface):
    self.position = wrap_position(self.position + self.velocity, surface)

'''
Обратите внимание, что использование wrap_position() - не единственное изменение здесь. Вы также добавляете новый аргумент surface к этому методу. Это потому, что вам нужно знать область, вокруг которой должна быть граница. В конце обновим вызов метода в классе Space Rocks:
'''

def _process_game_logic(self):
    self.spaceship.move(self.screen)

Теперь ваш космический корабль снова появляется на другой стороне экрана:


Изображение

Логика перемещения космического корабля готова.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.