Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 17, 2019 22:53:50

Magister6239
Зарегистрирован: 2019-08-13
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

pygame rect

Пожалуйста мастера, подскажите почему не рисуется прямоугольник?

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)

Офлайн

#2 Сен. 18, 2019 04:48:42

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

pygame rect

Используй теги code для передачи кода. Иначе неясно, где отступы, которые играют важную роль в семантике.



Офлайн

#3 Сен. 18, 2019 16:58:57

Magister6239
Зарегистрирован: 2019-08-13
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

pygame rect

py.user.next
Используй теги code для передачи кода. Иначе неясно, где отступы, которые играют важную роль в семантике.
Неужели дело в отступах? У меня работает игра без ошибок, но rect почему то не рисует (

Офлайн

#4 Сен. 18, 2019 17:19:06

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

pygame rect

Magister6239
py.user.next хочет вам помочь. Для этого ему надо взять ваш код и запустить у себя на машине, но он не мрожет этого сделать, потому что в ашем коде (который вы здесь показываете) нет отступов и он не заработает. Чтлбы код показывался нормально его надо оформлять вот так

[code python]
your code here
[/code]



Офлайн

#5 Сен. 18, 2019 20:16:34

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

pygame rect

ну такое

 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() 
как бы



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Сен. 18, 2019 21:22:21)

Офлайн

#6 Сен. 19, 2019 02:26:40

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

pygame rect

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()



Офлайн

#7 Сен. 19, 2019 19:07:03

Magister6239
Зарегистрирован: 2019-08-13
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

pygame rect

З

py.user.next
Я же написал там pygame.display.update(). Зачем 2 раза

Офлайн

#8 Сен. 20, 2019 02:41:44

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

pygame rect

Magister6239
Я же написал там pygame.display.update(). Зачем 2 раза
Ты запусти то, что я тебе отправил, и поймёшь.

Вот ты спрашивал
Magister6239
почему не рисуется прямоугольник?
Потому что не было обновления экрана.



Офлайн

#9 Сен. 20, 2019 07:41:03

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

pygame rect


 # 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()
...

Magister6239 размести такиеже коментарии в своем коде и тебе станет очевидно (надеюсь) почему у тебя в каждом цикле закрашиватся только черым



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#10 Сен. 20, 2019 07:42:43

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

pygame rect


 # 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()
...

Magister6239 размести такиеже коментарии в своем коде (перед такими же операциями) и тебе станет очевидно (надеюсь) почему у тебя в каждом цикле закрашиватся только черым
зы прдставь что каждый раз когда ты окрашиваешь ты ложишь новый слой



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Сен. 20, 2019 07:48:49)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version