Форум сайта python.su
0
Плиз подскажите, почему не рисуется второй зелёный прямоугольник? Кажется, функция думает, что draw_enemy в самом низу - ее часть. Если это так, то как отделить?
import pygame
pygame.init()
win_width = 500
win_height = 500
win = pygame.display.set_mode((win_width , win_height))
width = 30
height = 40
x = 50
y = win_height - height - 50
speed = 4
jump_count = 10
IsJump = False
en_width = 20
en_height = 30
en_y = win_height - en_height - 50
en_x = win_width - en_width - 50
pygame.display.set_caption("MGame")
running = True
while running :
pygame.time.delay(30)
clock = pygame.time.Clock()
clock = 30
pygame.display.update()
win.fill((0 , 0 , 0))
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
key = pygame.key.get_pressed()
if key[pygame.K_LEFT] and x > 0 :
x -= speed
if key[pygame.K_RIGHT] and x < 500 - width:
x += speed
if key[pygame.K_UP]:
IsJump = True
if IsJump:
if jump_count >= - 10:
if jump_count > 0:
y -= (jump_count ** 2) // 2
jump_count -= 1
else:
y += (jump_count ** 2) // 2
jump_count -= 1
else:
jump_count = 10
IsJump = False
pygame.draw.rect(win , (0 , 0 , 255) , (x , y , width , height))
def drawEnemy():
global en_x, en_y, en_width, en_height
if en_x >= -en_width:
pygame.draw.rect(win, (0, 255, 0), (en_x, en_y, en_width, en_height))
en_x -= 4
else:
en_x = win_width - en_width
drawEnemy()
[code]
Отредактировано Magister6239 (Сен. 22, 2019 19:14:17)
Офлайн
44
# def drawEnemy(): global en_x, en_y, en_width, en_height if en_x >= -en_width: pygame.draw.rect(win, (0, 255, 0), (en_x, en_y, en_width, en_height)) en_x -= 4 else: en_x = win_width - en_width drawEnemy()
и вставьте ссылку на его url Отредактировано AD0DE412 (Сен. 22, 2019 21:04:00)
Офлайн
0
Не работает, функция не вызывается
Офлайн
44
import pygame pygame.init() win_width = 500 win_height = 500 win = pygame.display.set_mode((win_width , win_height)) width = 30 height = 40 x = 50 y = win_height - height - 50 speed = 4 jump_count = 10 IsJump = False en_width = 20 en_height = 30 en_y = win_height - en_height - 50 en_x = win_width - en_width - 50 pygame.display.set_caption("MGame") def drawEnemy(): global en_x, en_y, en_width, en_height if en_x >= -en_width: pygame.draw.rect(win, (0, 255, 0), (en_x, en_y, en_width, en_height)) en_x -= 4 else: en_x = win_width - en_width running = True while running : drawEnemy() pygame.time.delay(30) clock = pygame.time.Clock() clock = 30 pygame.display.update() win.fill((0 , 0 , 0)) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False key = pygame.key.get_pressed() if key[pygame.K_LEFT] and x > 0 : x -= speed if key[pygame.K_RIGHT] and x < 500 - width: x += speed if key[pygame.K_UP]: IsJump = True if IsJump: if jump_count >= - 10: if jump_count > 0: y -= (jump_count ** 2) // 2 jump_count -= 1 else: y += (jump_count ** 2) // 2 jump_count -= 1 else: jump_count = 10 IsJump = False pygame.draw.rect(win , (0 , 0 , 255) , (x , y , width , height)) if __name__ == "__main__": exit()
и вставьте ссылку на его url Отредактировано AD0DE412 (Сен. 24, 2019 08:07:48)
Офлайн