Форум сайта python.su
Пожалуйста мастера, подскажите почему не рисуется прямоугольник?
import pygame
pygame.init()
run = True
display_width = 800
display_height = 600
pr_width = 80
pr_height = 60
pr_x = display_width // 3
pr_y = display_height // 3
display = pygame.display.set_mode((display_width, display_height ))
while run :
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
display.fill((255,255,255))
pygame.display.update()
pygame.draw.rect(display,(43, 173, 98),(pr_x, pr_y , pr_width , pr_height)) # 1 tab
[Code]
Отредактировано Magister6239 (Сен. 18, 2019 17:26:11)
Офлайн
Используй теги code для передачи кода. Иначе неясно, где отступы, которые играют важную роль в семантике.
Офлайн
py.user.nextНеужели дело в отступах? У меня работает игра без ошибок, но rect почему то не рисует (
Используй теги code для передачи кода. Иначе неясно, где отступы, которые играют важную роль в семантике.
Офлайн
Magister6239
py.user.next хочет вам помочь. Для этого ему надо взять ваш код и запустить у себя на машине, но он не мрожет этого сделать, потому что в ашем коде (который вы здесь показываете) нет отступов и он не заработает. Чтлбы код показывался нормально его надо оформлять вот так
[code python]
your code here
[/code]
Офлайн
ну такое
import pygame pygame.init() run = True display_width = 800 display_height = 600 pr_width = 80 pr_height = 60 pr_x = display_width // 3 pr_y = display_height // 3 display = pygame.display.set_mode((display_width, display_height)) while run: display.fill((255,255,255)) pygame.draw.rect(display, (43, 173, 98), (pr_x, pr_y, pr_width, pr_height)) pygame.display.update() for event in pygame.event.get(): if event.type == pygame.QUIT: run = False if __name__ == "__main__": exit()
Отредактировано AD0DE412 (Сен. 18, 2019 21:22:21)
Офлайн
Magister6239Обновить экран забыл
подскажите почему не рисуется прямоугольник?
while run: for event in pygame.event.get(): if event.type == pygame.QUIT: run = False display.fill((255,255,255)) pygame.display.update() pygame.draw.rect(display,(43, 173, 98),(pr_x, pr_y , pr_width , pr_height)) pygame.display.update()
Офлайн
З
py.user.nextЯ же написал там pygame.display.update(). Зачем 2 раза
Офлайн
Magister6239Ты запусти то, что я тебе отправил, и поймёшь.
Я же написал там pygame.display.update(). Зачем 2 раза
Magister6239Потому что не было обновления экрана.
почему не рисуется прямоугольник?
Офлайн
# py.user.next ... while run: for event in pygame.event.get(): if event.type == pygame.QUIT: run = False # закрасить черным цветом все display.fill((255,255,255)) # обновить pygame.display.update() # выделить область и закрасить (цвет, (координаты, размер)) pygame.draw.rect(display,(43, 173, 98),(pr_x, pr_y , pr_width , pr_height)) # обновить pygame.display.update() ... #AD0DE412 ... while run: # закрасить черным цветом все display.fill((255,255,255)) # выделить область и закрасить (цвет, (координаты, размер)) pygame.draw.rect(display, (43, 173, 98), (pr_x, pr_y, pr_width, pr_height)) # обновить pygame.display.update() ...
Офлайн
# py.user.next ... while run: for event in pygame.event.get(): if event.type == pygame.QUIT: run = False # закрасить черным цветом все display.fill((255,255,255)) # обновить изображение pygame.display.update() # выделить область и закрасить (цвет, (координаты, размер)) pygame.draw.rect(display,(43, 173, 98),(pr_x, pr_y , pr_width , pr_height)) # обновить изображение pygame.display.update() ... #AD0DE412 ... while run: # закрасить черным цветом все display.fill((255,255,255)) # выделить область и закрасить (цвет, (координаты, размер)) pygame.draw.rect(display, (43, 173, 98), (pr_x, pr_y, pr_width, pr_height)) # обновить изображение pygame.display.update() ...
Отредактировано AD0DE412 (Сен. 20, 2019 07:48:49)
Офлайн