alpha = 0 から alpha = 255 まで 2 秒間で四角形をフェードインしたいと考えています。次のコードを使用すると、四角形をフェードインできますが、持続時間を正確に (できるだけ正確に) 2 秒にする方法がわかりません。
pygame.init()
#frames per second setting
FPS = 30
fpsClock = pygame.time.Clock()
#Set up window
screen = pygame.display.set_mode((1280,800))
shape = screen.convert_alpha()
#Colors
alpha = 0
WHITE = (255, 255, 255,alpha)
BLACK = (0,0,0)
#Stimuli
stimulus = pygame.Rect(100,250,100,100)
def fade():
"""Fades in stimulus"""
global alpha
alpha = alpha + 5 <--- (Do I change this increment?)
#Draw on surface object
screen.fill(BLACK)
shape.fill(BLACK)
pygame.draw.rect(shape,(255, 255, 255,alpha),stimulus)
screen.blit(shape,(0,0))
pygame.display.update(stimulus)
fpsClock.tick(FPS)
while True:
fade()
さらに、フルスクリーンを使用している場合、フラグ HWSURFACE および DOUBLEBUF を使用する必要がありますか? ありがとう。