我试图在基于一个事件,一个MIDI输入pygame的窗口位块传输的图像,然后根据的blit的下一个事件,另一个MIDI输入另一个图像。这里发生的是当我按下midi键盘上的按键时,图像弹出一秒钟。我需要它留在窗口中,即使在我输入另一个输入并输出另一个图像之后。如何处理此情况是,我的MIDI键盘上的每个按键被记录为数字(1-88),并加入到NoteList[]
那么图像是使用h
,项目blit的窗口中NoteList
x坐标。在我的实际pygame中的h
变量也将通过一组函数,我只是想弄清楚这部分以简单的pygame的窗口。screen.blit(图像)pygame的,图像消失
going = True
while going:
screen.fill(white)
events = event_get()
NoteList=[]
for e in events:
if e.type in [QUIT]:
going = False
if e.type in [KEYDOWN]:
going = False
events = pygame.event.get()
if e.type in [pygame.midi.MIDIIN]:
print(str(e.data1))
NoteList.append(int(e.data1-20))
for h in NoteList:
screen.blit(EthnoteIMG, (int(h), 100))
pygame.display.update()
我还建议添加一个时钟'时钟= pygame.time.Clock()',然后限制帧的通过在while循环中调用'clock.tick(30)#或60'来提高速度。 – skrx
好的,谢谢。你知道我会怎么做这样的while循环内:G = 0,而g>的8:G + = 1个screen.blit(IMG,(G * 12),INT(H)),它只有通过去循环一次,我每次输入的东西通过MIDI –
我已经添加了一个段落的答案。那是你要的吗? – skrx