2013-09-07 3 views
0

Я делаю римейк tetris в Pygame и вам нужно переместить все блоки на 31 пиксель всякий раз, когда линия очищается. Как я могу взять захват экрана над линией и переместить его на 31 пиксель?Как перенести часть моего экрана на x пикселей?

Мне удалось сделать рельеф вокруг области, в которой я хочу двигаться, но я полностью потерял то, как я могу скопировать поверхность с ней, а затем переместить ее и поместить обратно на поверхность, пожалуйста, помогите!

Вот мой (неудачный) фрагмент того, что я до сих пор:

if bc1 == "16070": 
    height_to_move = 659 

else: 
    height_to_move = 659 - int(bc1[3:]) 

movable_sheet = pygame.Rect(160, 70, 279, height_to_move) 

movedsheet = screen.subsurface(movable_sheet).copy() 


screen.blit(screen, (160,101), (160, 70, 279, height_to_move)) 

ответ

0

Я не являюсь экспертом в Pygame или питоне, но вы можете создать целое у и целое Dy, с у существ ваше исходное значение и dy равно 31, и у вас будет область, в которой вы хотите переместить y координату y yyy. Надеюсь, это помогло!

1

Где blocks список Sprite s

def draw(): 
    for b in blocks: 
     screen.blit(b.image, b.rect, None) 

def line_clear(): 
    for b in blocks: 
     b.rect.top += 31 

 Смежные вопросы

  • Нет связанных вопросов^_^