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