Форум сайта python.su
Простой пример прыгающего шара. Проблема заключаеться в выводе текста. Он моргает при перемещении шара. Вот код:
import pygame
pygame.init()
size = width, height = 640, 480
speed =
black = 0, 0, 0
screen = pygame.display.set_mode(size)
pygame.display.set_caption(“Hello PyGAME!!!”)
ball = pygame.image.load(“ball.bmp”) # загружаем картинку, в моем случае, это шар
ballrect = ball.get_rect() # делаем поле-прямоугольник для шара
ballrect.move(100,100) #перемещаем прямоугольник
while 1: # вроде как игровой цикл
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.display.quit() # если закрыли окно - выходим
ballrect = ballrect.move(speed)
if ballrect.left < 0 or ballrect.right > width: # если шар ударяеться о стенку окна,
speed = -speed # то меняем координаты на противоположные
if ballrect.top < 0 or ballrect.bottom > height:
speed = -speed
# Выводим текст——————————-
font = pygame.font.Font(None, 25)
text = font.render(“HELLO PEOPLE, THIS is A TEXT!!!!”, True, (255,255, 255), (159, 182, 205))
textRect = text.get_rect()
textRect.centerx = screen.get_rect().centerx # размещаем текст посередине окна
textRect.centery = screen.get_rect().centery
screen.blit(text, textRect) # выводим
pygame.display.update()
#————————————————-
screen.fill(black)
screen.blit(ball, ballrect) # отображаем шар
pygame.display.flip() # обновляем екран
Объясните почему?
Спасибо.
Офлайн
Уже разобрался!!! Я просто 2 раза екран обновлял. Нужно убрать pygame.display.flip()
Офлайн