问题描述
我试图在指定的时间内将一条线移动一段距离。到目前为止的基本代码是这样的:
ticks = 0
aud_time_ms = int(self.AUD_MAN.get_aud_length(selected_aud,milleseconds=True))
selected_img_width = self.get_img_size(selected_img)[1]
while self.RUNNING:
# start with filling screen
self.WIN.fill(WHITE)
# blit audio wave images
self.WIN.blit(ref_wave_img,ref_wave_rect)
# blit text
self.WIN.blit(controls_text_surf,(10,0))
# blit moving line
pg.draw.rect(self.WIN,RED,self.LINE_RECT)
if(self.AUD_FINISHED):
self.WIN.blit(aud_finished_text_surf,(100,100))
if(self.PLAYING_AUD):
self.move_ref_aud_line(self.LINE_DX,ticks)
# check events
for event in pg.event.get():
if event.type == aud_finished_event:
self.AUD_FINISHED = True
# check key presses
elif event.type == pg.KEYDOWN:
# check if key pressed == "r",then we record
if event.key == pg.K_r:
# reset the audio
self.AUD_FINISHED = False
self.PLAYING_AUD = True
pg.time.set_timer(aud_finished_event,aud_time_ms)
self.move_ref_aud_line(dx=self.LINE_DX,ticks=ticks)
print("R")
# check if key press == "p",then we play the audio
elif event.key == pg.K_p:
# reset the audio
self.AUD_FINISHED = False
pg.time.set_timer(aud_finished_event,aud_time_ms)
print("P")
# if event is quit,quit
if event.type == pg.QUIT:
self.RUNNING = False
# update the surf
pg.display.update()
self.CLOCK.tick(30)
ticks = self.CLOCK.tick(60)
pg.quit()
基本上,我希望我的 self.LINE_RECT 以速度 self.LINE_DX 在时间长度 aud_time_ms 内移动距离 selected_img_width。
我怎样才能做到这一点,以便在按下“p”时,一条线会在 2 秒内完全穿过图像?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)