我通過在屏幕上繪製矩形並不斷變化α來創建我的遊戲中的一天和一個週期。不過,我顯然希望爲遊戲添加一些燈光。有沒有一種方法可以使用pygame將矩形的特定部分的alpha設置爲0?或者,也許還有另外一種關於整個照明事物的方式?添加照明Pygame
這是我的白天週期的運作(這是很糟糕的,黑夜較長,但它只是用於測試):
#Setting up lighting
game_alpha = 4 #Keeping it simple for now
game_time = 15300
time_increment = -1
alpha_increment = 1
#Main Game Loop:
if float(game_time)%game_alpha == 0:
game_alpha += alpha_increment
print "Game Alpha: ",game_alpha
print "Game Time: ", game_time
if game_time < 0:
time_increment = 1
alpha_increment = -1
elif game_time >= 15300:
time_increment = -1
alpha_increment = 1
game_shadow = pygame.Surface((640, 640))
game_shadow.fill(pygame.Color(0, 0, 0))
game_shadow.set_alpha(game_alpha)
game_shadow.convert_alpha()
screen.blit(game_shadow, (0, 0))
你可以在它上面點亮一下嗎? –
你可以設置每個像素的alpha值,但我敢打賭它會比pyOpenGL慢。但也許夠快。 – ninMonkey
你可以將屏幕分割成不同的矩形,然後用不同的alpha值對它們進行blit處理。 – alexpinho98