Форум программистов, компьютерный форум, киберфорум
Python: PyGame
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
1 / 1 / 1
Регистрация: 23.11.2019
Сообщений: 55

Pygame Sprite

23.09.2020, 16:40. Показов 2015. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать что бы спрайт перемещался слева направо и отталкивался от стенок, дошёл до левой стенки оттолкнулся пошёл вправо, дошёл до правой оттолкнулся пошёл влево
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import pygame
 
WIDTH=800
HEIGHT=650
FPS=30
 
WHITE=(255,255,255)
BLACK=(0,0,0)
RED=(250,0,0)
GREEN=(0,255,0)
BLUE=(0,0,255)
 
class Player(pygame.sprite.Sprite):
    def __init__(self):
          pygame.sprite.Sprite.__init__(self)
          self.image=pygame.Surface((50,50))
          self.image.fill(GREEN)
          self.rect=self.image.get_rect()
          self.rect.center=(400,325)
 
    def update(self):
        if self.rect.left < WIDTH:
            self.rect.x += 5
        if self.rect.right > WIDTH:
            self.rect.left = 0
            self.rect.x -= 5
            
 
pygame.init()
screen=pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("My Game")
clock=pygame.time.Clock()
 
all_sprites=pygame.sprite.Group()
player=Player()
all_sprites.add(player)
 
running=True
while running:
    clock.tick(FPS)
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
 
    all_sprites.update()
    screen.fill(BLACK)
    all_sprites.draw(screen)
    pygame.display.flip()  
pygame.quit()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2020, 16:40
Ответы с готовыми решениями:

Pygame sprite.Group()
У меня есть группа спрайтов, делаю платформер. 1) Как в этой группе мне убрать какой-то определенный спрайт, который соответствует...

Создание экземпляров класса Sprite в Pygame
Здравствуйте. Только относительно недавно начал изучать ООП да и в целом Python. Предпочитаю делать сразу на конкретной задаче - так...

Как удалить один спрайт из группы? pygame.sprite.Group()
all_sprites = pygame.sprite.Group() В all_sprites добавлено кучу Surface'ов. Как мне удалить какой-то определенный, используя...

2
4 / 3 / 1
Регистрация: 16.03.2020
Сообщений: 35
23.09.2020, 17:58
ну вообще обычно выносят скорость в переменную и при столкновении домножают ее на -1
Python
1
2
3
4
5
6
7
speed = 5
 
def update(self):
    if self.rect.right >= WIDTH or self.rect.left<=0:
        speed *= -1
        
    self.rect.x += speed
ну границы там посмотреть надо. А что при твоем коде происходит?
0
1 / 1 / 1
Регистрация: 23.11.2019
Сообщений: 55
23.09.2020, 18:38  [ТС]
Rogdy, он ходит слева направо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.09.2020, 18:38
Помогаю со студенческими работами здесь

При импорте pygame пишет что нет модуля pygame.base
Устанавливаю для kivy.Всё есть (sython,gsstreamer,kivy,pyscripter,python) , а вот фраем. pygame не работает.Почему?Что ещё надо для работы...

Ошибка в pygame AttributeError: 'pygame.Rect' object has no attribute 'blit'
Создаю игру, крестики нолики Почему возникает ошибка и как ее исправить? AttributeError: 'pygame.Rect' object has no attribute 'blit' ...

Pygame ошибка module ‘pygame’ has no ‘init’ member
Всем здравствуйте. Недавно начал работать с VS code и выдает такая ошибка. Прикрепляю полностью скрин. Нашел решение перед каждой...

pygame.error: cannot convert without pygame.display initialized
Только начал изучать спрайты Выдаёт ошибку: Traceback (most recent call last): File &quot;D:/project1/OCode.py&quot;, line 18, in...

Pygame.mixer.music.set_pose() не меняет pygame.mixer.music.get_pose()
Доброго времени суток, друзья! Пишу что-то среднее между часами и музыкальным плеером. Решил, что музыку буду воспроизводить с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru