Можно ли дублировать прямоугольник и оба в разных положениях? - PullRequest
0 голосов
/ 26 апреля 2018

Я пытался использовать .copy () и .move_ip () для дублирования прямоугольника, но все, что нужно, это переместить исходный прямоугольник, не создавая два.Я также дважды пытался вызвать pygame.rect.draw, но все, что он делает - это перемещает исходное изображение, ничего не оставляя.

import pygame
pygame.init()

dis = pygame.display.set_mode((500, 500))
x = 0
y = 500-40
height = 40
width = 100
run = True
vel = 10
clock = pygame.time.Clock()
direction = 'Right'
ran = True
game = 0
def animate(ran, x, y, height, width, direction)#Pygasm:
    if ran:
        if x < vel:
            direction = 'Right'
        elif x > 500-width-vel:
            direction = 'Left'
        if direction == 'Right':
            x += vel
        elif direction == 'Left':
            x -= vel

    dssz = pygame.draw.rect(dis, (255, 0, 0), pygame.Rect(x, y, width, height))

    return x, y, width, height, direction

while run:
    for ev in pygame.event.get():
        if ev.type == pygame.QUIT:
            run = False
        if ev.type == pygame.KEYDOWN:
            if ev.key == pygame.K_UP:
                game+=1
                ran = False
            if ev.key == pygame.K_DOWN:
                game = 0
                pygame.draw.rect(dis, (255,0,0), pygame.Rect(x,y,width,height))
                y -= 40
                ran = True

    dis.fill((0, 0, 0))
    keys = pygame.key.get_pressed() 
    x, y, height, width, direction = animate(ran, x, y, height, width, direction)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

1 Ответ

0 голосов
/ 26 апреля 2018

Это просто, используйте Rect.copy с переменной

myRect = pygame.Rect(0, 0, 20, 20)
myOtherRect = myRect.copy()
myOtherRect.x, myOtherRect.y = 20, 20
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...