A. 用python的pygame,但每次程序一運行,pygame window窗口能出現,但是下圖這種狀態。
event英文翻譯是事件 get 獲取 type是樣式,類型的意思,所以他這個都是有規律的,但是有順序事件在前,後面跟屬性
同時也有父子(層級)關系
event.get() 獲取到的事件
event.type() 事件類型
event.key() 按鍵事件
一般都是寫在while裡面,因為這是個不斷循環的過程,不然,只執行一便達不到實際要求,這是Pygame裡面設定好的
這是貪吃蛇游戲的一段代碼(一部分):
txt=font.render('GAMEOVER',True,(255,0,0))
screen.blit(txt,(size[0]/6,size[1]*2/5-20))#(0,0)(size[0]/6,size[1]*2/5)100號字中心位置
direction='right'#初始方向,向右
changeDirection=direction#定義一個改變方向的變數,按鍵
running=True
whileTrunning:
foreventinpygame.event.get():#從隊列中獲取事件
ifevent.type==QUIT:#判斷事件類型是否為退出事件
#pygame.quit()
sys.exit()
elifevent.type==KEYDOWN:#如果按鍵被按下(事件)
ifevent.key==K_RIGHTorevent.key==K_d:#如果是右鍵頭或者是d,蛇向右移動
changeDirection='right'
ifevent.key==K_LEFTorevent.key==K_a:#如果是左鍵頭或者是a,蛇向左移動
changeDirection='left'
ifevent.key==K_UPorevent.key==K_w:
changeDirection='up'
ifevent.key==K_DOWNorevent.key==K_s:
changeDirection='down'
#這下面一行可以忽略,
ifevent.key==K_ESCAPE:#對應鍵盤上的Esc鍵,表示退出
pygame.event.post(pygame.event.Event(QUIT))
#繪制文本,刷新顯示
screen.blit(txt,(20,10))
screen.fill(blackColor)#放在for語句一列,屬於while的(子)層級,循環不斷的刷新