測試題一、
1、 程序可以響應(yīng)的兩種事件分別是鍵盤事件和鼠標(biāo)事件。
2、 處理事件的代碼稱為事件處理器
3、 Pygame使用KEYDOWN事件來檢測按鍵是否按下。
4、 Pos屬性會指出事件發(fā)生時鼠標(biāo)所在的位置
5、 要為用戶事件得到下一個可用的事件編號,可以使用pygame.NUMEVENTS。
6、 要創(chuàng)建一個定時器,可以使用pygame.time.set_timer()。
7、 要在Pygame窗口中顯示文本,可以使用font對象。
8、 使用字體對象有3個步驟:
創(chuàng)建一個字體對象
渲染文本,創(chuàng)建一個表面
把這個表面塊移到顯示表面
動手試一試
1、 如果球沒有碰到球拍的頂邊,而是碰到了球拍的左右兩邊,為什么會有奇怪的表現(xiàn)?這是因為這里有一個碰撞,所以代碼嘗試讓球的y方向 (讓它向上而不是向下)。但是因為球 是從兩邊(左邊或右邊)過來的,即使在反向之后它仍會與球拍“碰撞”。下一次循環(huán)(一幀之后)時,它會再次反向,因此會再次向下,如此繼續(xù),要解決這個問題,有一種簡單的方法:當(dāng)球與球拍碰撞時總是將球設(shè)置為向“上”(y速度是一個負(fù)值)。這不能算是一種完美的解決辦法,因為這意味著即使碰到球拍左右兩邊也會向上反彈---這可不太真實!不過這樣能解決球在球拍兩邊來回反彈的問題,如果你想要一種更真實的解決方案,可能需要多寫一些代碼,也許要增加一些內(nèi)容,在“反彈”之前檢查球碰到了球拍的哪一邊。
2、 我們已經(jīng)給出了有關(guān)代碼的一個例子,可以為程序增加隨機性,見TIO_CH18_2.py。
測試題二、
1、 存儲聲音的文件類型包括波形文件(.wav)、MP3(.mp3)、Ogg Vorbis文件(.ogg)和Windows媒體音頻文件(.wma)。
2、 Pygame.mixer模塊用來播放音樂
3、 要用各個聲音對象的set_volume()方法設(shè)置Pygame聲音對象的音量。
4、 使用pygame.mixer.music.set_volume()設(shè)置背景音樂的音量。
5、 要讓音樂淡出,可以使用pygame.mixer.music.fadeout()方法。要提供淡出時間(毫秒數(shù),即千分之一秒)作為參數(shù)。例如pygame.mixer.music. fadeout(2000)會讓聲音在2秒內(nèi)淡出。
動手試一試
我們已經(jīng)在網(wǎng)站上提供了加入聲音的猜數(shù)程序的代碼,見TIO_CH19_1.py。
測試題三、
1、 GUl圖形元素有3個名字,分別是控件、部件和組件。
2、 要進(jìn)入一個菜單,與Alt同時按下的字母叫做熱鍵。
3、 PythonCard資源文件要以rsrc.py結(jié)尾。
4、 使用PythonCard的GUI中可以包含以下組件類型:按鈕、復(fù)選框、計量器、列表、單選鈕組、滑動條、文本域、圖像、靜態(tài)文本以及很多其他組件。查看資源編輯器的Component菜單,可以看到全部組件類型。
5、 要讓組件完成某項工作,需要一個事件處理器。
6、 在PythonCard菜單編輯器中要使用&(與字符)定義熱鍵。
7、 PythonCard中微調(diào)框的內(nèi)容總是一個整數(shù)。
動手試一試
1、 我們已經(jīng)在網(wǎng)站上給出了使用PythonCard完成的猜數(shù)程序,見TIO_CH_1.py和TIO_CH20_1.rsrc.py。
2、 要解決這個微調(diào)框問題,需要在資源編輯器中選擇微調(diào)組件。在屬性編輯器中改變min和max屬性,min屬性應(yīng)當(dāng)取一個很小的值,比如-1000,max可以非常大,比如1000000.
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
