多媒體程序開發(fā)(二)
大家好,上期推送中我們初識了Python的游戲模塊Pygame Zero模塊,并用它制作了一個小游戲。今天我們來更加深入、細致的學習游戲制作的相關知識,然后進行實踐,制作另一個游戲——“接寶物游戲”。
一、順序過程程序和事件驅動程序

? ?? 二、接寶物游戲編寫
在游戲編寫前,我們需要考慮如下問題:首先是角色確定。我們要制作的游戲包含哪幾種類型角色?我們要讓角色進行什么樣的運動?我們要怎樣控制角色?角色之間的碰撞又是怎樣的?其次是畫面設計。游戲的背景畫面如何設計?信息如何顯示?如何確定角色的繪制位置?最后是交互設計。簡單小游戲的交互設計一般為鼠標控制。
一些重要的編程書寫格式。顏色可以是(r,g,b),如(128,0,0);也可以是字符串名稱,如‘red’。窗口寫字:顏色可以是(r,g,b)也可以是字符串名稱,如screen.draw.text(str, (x,y), color=顏色,background=顏色)。繪制背景圖像:screen.clear()、screen.fill(顏色) 、screen.blit(背景圖名, (x,y))。音效:sounds.<名稱>.play(loops=<重復次數>)、 sounds.<名稱>.stop()。
定時器clock:安排時間—clock.schedule(<函數>, <延遲時間>);會覆蓋以前的安排—clock.schedule_unique(<函數>,<延遲時間>);定期反復調用:clock.schedule_interval(<函數>,<重復時間>);取消安排—clock.unschedule(<函數>)。
角色Actor:位置——center=(x,y);角度旋轉——angle=角度值;相對距離——distance_to(<另一個角色>/(x,y));相對角度——angle_to(<另一個角色>/(x,y));外觀——image=<圖片>。
Actor碰撞檢測:collidepoint(<另一個角色> / (x,y) ) ;colliderect(<另一個角色> / <矩形Rect()> /((x1,y1),(x2,y2)) )。
動畫效果:animate(<角色>, pos=(x,y))。
合成的音符:tone.play(‘E4’, 0.5)。創(chuàng)建一個,后續(xù)調用play:beep = tone.create(‘A3’, 0.5)。beep.play( )。
鼠標事件:鼠標左右鍵:mouse.LEFT, mouse.RIGHT,mouse.MIDDLE。on_mouse_move(pos, rel, buttons)。on_mouse_down(pos, button)。if mouse.LEFT inbuttons:
鍵盤事件:on_key_down(key);鍵名稱:key.A, key.B, key.ESC…。
三、程序書寫與分析
經過第二部分的學習后,我們正式開始程序的書寫。




經過以上的步驟接寶物的游戲就制作完成了,接下來就要運行和調試了,發(fā)現錯誤時要根據錯誤信息的提示加以更正或修改。
推薦閱讀
《數據科學與人工智能》公眾號推薦朋友們學習和使用Python語言,需要加入Python語言群的,請掃碼加我個人微信,備注【姓名-Python群】,我誠邀你入群,大家學習和分享。
? ? 關于Python語言,有任何問題或者想法,請留言或者加群討論。
