2014-11-09 2 views
1

Я программирую на Python с помощью библиотеки pygame. Я хочу знать, как сделать переменную прямоугольник, что-то вроде:Как создать прямые переменные в pygame python

import ... 
rect1 = #RECT VARIABLE 
rect2 = #RECT VARIABLE 
+2

PyGame прямоугольника? 'rect1 == pygame.Rect (x, y, w, h)'. См. Это: http://www.pygame.org/docs/ref/rect.html –

+0

'import pygame',' rect1 = pygame.Rect (левый, верхний, ширина, высота) 'и т. Д. - RTFM. – martineau

+0

, но как вы это делаете, когда будете бить прямо? –

ответ

-1

Для прямоугольника рисовать рисунок является: pygame.Rect (слева, сверху, ширина, высота)

Вы можете изменить этот код, в соответствии с ваша потребность.

import pygame, sys 
from pygame.locals import * 
pygame.init() 
windowSurface = pygame.display.set_mode((500, 400), 0, 32) 
pygame.display.set_caption('Title') 
BLACK = (0, 0, 0) 
WHITE = (255, 255, 255) 
BLUE = (0, 0, 255) 
basicFont = pygame.font.SysFont(None, 48) 
message = 'Hello ' 

text = basicFont.render(message, False, WHITE, BLUE) 
textRect = text.get_rect() 
textRect.centerx = windowSurface.get_rect().centerx 
textRect.centery = windowSurface.get_rect().centery 
windowSurface.fill(WHITE) 
pixArray = pygame.PixelArray(windowSurface) 
pixArray[480][380] = BLACK 
del pixArray 
windowSurface.blit(text, textRect) 
pygame.display.update() 
while True: 
    for event in pygame.event.get(): 
     if event.type == K_ESCAPE: 
      pygame.quit() 
      sys.exit() 
+0

В первой строке вы объяснили, как определить Rect, но ваш код не использует это вообще, вместо этого вы использовали метод get_rect. Это просто сбивает с толку. Я думаю, что два комментария ниже первоначального вопроса более актуальны. – elParaguayo

+0

Итак, когда вы blit the rect, вы не предоставляете коорды? –

1

Возможно, что-то вроде этого будет работать?

import pygame 
# your whole code until you need a rectangle 
rect1 = pygame.draw.rect((x_coordinate, y_coordinate), (#a rgb color), (#size of rect in pixels)) 

Если вы хотите красный прямоугольник с 100x150 размером в 0x50 положения, то это будет:

rect1 = pygame.draw.rect((0, 50), (255, 0, 0), (100, 150)) 

Чтобы вставить его в экране вы используете:

pygame.screen_you_have_created.blit(rect1, 0, 50) 
Смежные вопросы