網(wǎng)絡(luò)上已經(jīng)有無(wú)數(shù)文章或教程介紹迭代器,本文不涉及迭代器用法,主要通過(guò)一個(gè)實(shí)驗(yàn)效果,來(lái)說(shuō)明它的應(yīng)用意義。 實(shí)驗(yàn)的代碼: 分別運(yùn)行兩段代碼,并觀察系統(tǒng)相關(guān)信息 A:使用迭代器的效...
網(wǎng)絡(luò)上已經(jīng)有無(wú)數(shù)文章或教程介紹迭代器,本文不涉及迭代器用法,主要通過(guò)一個(gè)實(shí)驗(yàn)效果,來(lái)說(shuō)明它的應(yīng)用意義。 實(shí)驗(yàn)的代碼: 分別運(yùn)行兩段代碼,并觀察系統(tǒng)相關(guān)信息 A:使用迭代器的效...
通過(guò)前面9篇的講解,已經(jīng)可以運(yùn)行一個(gè)完整的飛機(jī)大戰(zhàn)游戲,接下來(lái)補(bǔ)充一些流程,完善細(xì)節(jié)。 首先觀察之前的腳本,Main()函數(shù)586-696共110行,閱讀起來(lái)還是比較費(fèi)勁。 ...
上一篇將主要的函數(shù)封裝到了一個(gè)對(duì)象中,還把列表變量,替換成類屬性,本篇著重講解類的完善過(guò)程 一、showText類:A,新增字體大小 B,調(diào)整顯示文本更新方法,更改為:dis...
上一 篇講解了 showText EnemyPlane EnemyBullet HeroPlane四個(gè)類的修改,本篇繼續(xù)講解其他類的修改。 一、Bullet玩家飛機(jī)子彈,和敵...
上一篇講解了背景和音效的操作,本篇繼續(xù)添加游戲暫停節(jié)目、游戲信息展示、游戲開(kāi)始確認(rèn)畫(huà)面,以及敵機(jī)刷新控制。 添加游戲暫停 在MainControl函數(shù)中調(diào)用 Paused函數(shù)...
上一篇已經(jīng)完成了游戲主體部分,本篇開(kāi)始逐步完善游戲,首先是增加背景和音效。 背景音樂(lè) 背景音樂(lè)控制操作比較少:1、游戲開(kāi)始循環(huán)播放2、游戲中點(diǎn)擊"音樂(lè)開(kāi)關(guān)"按鈕停止播放,再次...
上一篇講解敵機(jī)、補(bǔ)給包、Boss的生成及控制。本篇就重點(diǎn)講解碰撞檢測(cè)原理和實(shí)現(xiàn)。 碰撞檢測(cè)原理 圖片在程序中都是矩形,我們看到的不規(guī)則形狀,只是透明效果。所以碰撞實(shí)際就是兩個(gè)...
上一篇講解玩家飛機(jī)控制方法,以及子彈越界判斷。本篇繼續(xù)講解敵機(jī)、補(bǔ)給包、Boss的生成及控制。 和玩家飛機(jī)一樣,繼承BasePlane創(chuàng)建幾個(gè)敵機(jī)相關(guān)類。普通敵機(jī)EnemyP...
上一篇講解了動(dòng)態(tài)背景,并創(chuàng)建了飛機(jī)的基類。本篇繼續(xù)講解玩家飛機(jī)類的創(chuàng)建及其控制方法。 創(chuàng)建飛機(jī)對(duì)象需要傳入子彈對(duì)象,所以這里把子彈類的代碼也一起發(fā)了上來(lái)。 玩家飛機(jī)繼承基類 ...
上一篇已經(jīng)創(chuàng)建了基類,接下來(lái)繼承基類創(chuàng)建動(dòng)態(tài)背景、飛機(jī)的基礎(chǔ)類。 創(chuàng)建背景基類 type 屬性:用來(lái)區(qū)分創(chuàng)建的背景是動(dòng)態(tài)的還是靜態(tài),因?yàn)橛螒驎和1尘笆庆o態(tài)的。 動(dòng)態(tài)背景是飛機(jī)...
通過(guò)之前的講解,了解了一些相關(guān)原理和基本的控制方法。接下來(lái)就可以開(kāi)始編寫(xiě)“飛機(jī)大戰(zhàn)”了。 開(kāi)始之前,先說(shuō)一說(shuō),為什么要以對(duì)象化編程,之前的例子里的腳本,都是以過(guò)程化編寫(xiě),而實(shí)...
上一篇我們已經(jīng)可以顯示靜態(tài)的圖像,接下來(lái)就要讓它們動(dòng)起來(lái)。 一、飛機(jī)的移動(dòng) 通過(guò)觀察發(fā)現(xiàn),飛機(jī)向上移動(dòng),只是圖片的Y坐標(biāo)發(fā)生了變化。那我們先嘗試改變圖片坐標(biāo)。 二、添加鍵盤控...
飛機(jī)大戰(zhàn),算是面向?qū)ο蟮某绦蛘Z(yǔ)言入門必修程序,但大多教程只是點(diǎn)到為止,跳過(guò)了很多實(shí)際開(kāi)發(fā)會(huì)遇到的問(wèn)題,自然也錯(cuò)過(guò)了很多不錯(cuò)的經(jīng)驗(yàn)。該系列文章針對(duì)python的pygame包,...
re.sub函數(shù)常用來(lái)查找替換字符/串,而又一種需求,只是要查找字符/串,然后追加一些字符。 比如這樣一個(gè)字符串:A0.378b166.5C37D59e6.541 ,我們要找...
在py文件中經(jīng)??吹綀D中這句代碼,初學(xué)者,特別是學(xué)習(xí)過(guò)其他語(yǔ)言,非系統(tǒng)的學(xué)習(xí)python基礎(chǔ)語(yǔ)法的,看到它都會(huì)有些懵,它是做啥的?為什么要這樣做? 一、__name__的作用...
程序開(kāi)發(fā)中,很多新手都忽略了自定義函數(shù)的作用,它即可以提高書(shū)寫(xiě)代碼效率、增強(qiáng)代碼可讀性、易維護(hù)。 比如下面的代碼,判斷l(xiāng)s_obj_type是否等于其中一個(gè)字符串,代碼非常冗...
在做微信小程序時(shí),如果有用戶管理,會(huì)希望加入微信、QQ、新浪微博等第三方服務(wù)商的用戶登錄驗(yàn)證。這樣就需要把自己的用戶信息與第三方的賬號(hào)進(jìn)行綁定。 openid 就是用戶在第三...