2013-06-13 103 views
0

我試圖在pygame屏幕上創建一個透明表面,不幸的是沒有工作。主表面顯示正常,但我嘗試生成的表面完全不顯示。PyGame,表面沒有顯示

import pygame as pg 
from pygame.locals import * 

pg.display.init() 
h = 640 
w = 480 
_display = pg.display.set_mode((h,w)) 
_display.fill(pg.Color(0,0,0)) 

_active_surface = pg.Surface((h,w)) 
#_active_surface.set_colorkey((255,0,255)) 
_active_surface.fill(pg.Color(255,0,255)) 
_display.blit(_active_surface, (h,w)) 

while True: 
    for i in pg.event.get(): 
     if i.type == QUIT: 
      pg.quit() 
    pg.display.flip() 
+0

如果它是透明的......你真的能看到它嗎? – Chachmu

+0

@Roboinventor行_active_surface.set_colorkey((255,0,255))使其透明,並禁用它。 – dantebarba

+0

你應該改變你的h和w變量爲w和h。 –

回答

5
_display.blit(_active_surface, (h,w)) 

我覺得最後一個參數是應該發生的blitting位置的左上角。這裏給出的是(h,w),它等於屏幕的大小,所以在屏幕外出現blitting。嘗試用(0,0)代替。