按键映射_第三章 中文注释及按键相关
忙了幾天,又累了個周末,緊接著又出差,心塞...
今天跟大家一起學習一下中文注釋及按鍵相關方面的知識。
一、中文注釋
首先把上一章的代碼粘貼上來
import sys, pygame pygame.init()screen = pygame.display.set_mode((320, 240)) black = (0, 0, 250)while 1:for event in pygame.event.get():if event.type == pygame.KEYDOWN:if event.key == pygame.K_ESCAPE:sys.exit()screen.fill(black)pygame.display.flip()剛接觸代碼的童鞋(比如我)很容易被雞腸文繞暈,畢竟不是母語。沒事,我們可以用中文注釋來標記,方便代碼管理和維護,我知道你們想說盡量用英語注釋,可誰叫咱英語差呢。
import sys, pygame # 導入所需庫 pygame.init() # 初始化pygamescreen = pygame.display.set_mode((320, 240)) # 設置屏幕尺寸320*240 black = (0, 0, 250) # 定義背景色while 1: """主循環開始"""for event in pygame.event.get(): # 監聽事件if event.type == pygame.KEYDOWN: # 監聽按鍵按下事件if event.key == pygame.K_ESCAPE: # 監聽ESC鍵按下sys.exit() # 程序退出screen.fill(black) # 背景色繪制屏幕pygame.display.flip() # 刷新屏幕安全起見,丟進GS跑一遍。
久違的失敗三聯哎,一點都不省心。
沒事,我們還有度娘支援啊。查了一通發現是中文編碼問題,只要在文件頭加上# coding=utf-8這么一句就行了。更改后代碼如下
# coding=utf-8import sys, pygame # 導入所需庫 pygame.init() # 初始化pygamescreen = pygame.display.set_mode((320, 240)) # 設置屏幕尺寸320*240 black = (0, 0, 250) # 定義背景色while 1: """主循環開始"""for event in pygame.event.get(): # 監聽事件if event.type == pygame.KEYDOWN: # 監聽按鍵按下事件if event.key == pygame.K_ESCAPE: # 監聽ESC鍵按下sys.exit() # 程序退出screen.fill(black) # 背景色繪制屏幕pygame.display.flip() # 刷新屏幕順便說一下,上述的utf-8可替換為GB2312 、GBK 、GB18030,對應的就是編碼格式,然而無論我替換哪個...
標準的失敗三聯不對啊大哥,你這不按套路出牌啊,你總不能每個地方都卡我幾天吧?
內心毫無波瀾.jpg又翻查了一通,還是找不出個所以然來,但是有一段話倒是給我一個思路:
來源:https://blog.csdn.net/junkichan/article/details/51913845,侵刪首先,我們的注釋中出現的中文字符應該是沒問題的,都是常用字,不可能是上述幾個編碼格式未收錄的情況,那就是標點符號的問題咯?
按這個思路,要么是井號(#)出問題要么是雙引號(”)出問題,先保留井號試試。把代碼更改如下:
# coding=utf-8import sys, pygame # 導入所需庫 pygame.init() # 初始化pygamescreen = pygame.display.set_mode((320, 240)) # 設置屏幕尺寸320*240 black = (0, 0, 250) # 定義背景色while 1: # 主循環開始for event in pygame.event.get(): # 監聽事件if event.type == pygame.KEYDOWN: # 監聽按鍵按下事件if event.key == pygame.K_ESCAPE: # 監聽ESC鍵按下sys.exit() # 程序退出screen.fill(black) # 背景色繪制屏幕pygame.display.flip() # 刷新屏幕丟進GS,成功運行。
這難道還有玄學的成分???意思無法識別雙引號???
這是什么鬼邏輯???不過我不想在這里卡太多時間,畢竟現階段我們還沒那么急切的需求雙引號的長注釋,中文注釋功能已經可以實現,先這樣吧,回頭有時間再研究。
二,按鍵相關
接下來是按鍵映射的問題,根據GS的開發文檔,其按鍵映射是這樣紙滴:
來源見水印,圖侵刪上圖中左下部分(LK1-LK5鍵)為擴展背板按鍵,部分機友貌似是沒有這個部分的,而且不知道是不是我的版本問題,這部分擴展按鍵鍵值是相反的,意思是按shift鍵之前,LK1鍵對應的是h鍵,按shift鍵之后才對應home鍵。
將我們的代碼擴展如下:
# coding=utf-8import sys, pygame # 導入所需庫 pygame.init() # 初始化pygamescreen = pygame.display.set_mode((320, 240)) # 設置屏幕尺寸320*240 black = (0, 0, 250) # 定義背景色while 1: # 主循環開始for event in pygame.event.get(): # 監聽事件if event.type == pygame.KEYDOWN: # 監聽按鍵按下事件if event.key == pygame.K_ESCAPE: # 監聽ESC鍵按下sys.exit() # 程序退出elif event.key == pygame.K_h: # 監聽h鍵按下black = (0, 250, 0) # 重新定義背景色為綠elif event.key == pygame.K_k: # 監聽k鍵按下black = (0, 0, 250) # 重新定義背景色為藍screen.fill(black) # 背景色繪制屏幕pygame.display.flip() # 刷新屏幕這樣我們開機后運行程序,撲面而來的是滿屏的心慌藍,當你按住shift鍵(方向盤上方那個也可,擴展的LK3也可)再按B鍵,就會變成全屏的開心綠,松開shift鍵再按A鍵,心慌藍又回來了。
對應鍵值如下(排名不分先后):
注意區分大小寫大家可以自己測試一下,今天就到這。
古得耐總結
以上是生活随笔為你收集整理的按键映射_第三章 中文注释及按键相关的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: adc采样时间_太秀了!单片机内置 AD
- 下一篇: 两个列表合并去重_数据结构——列表