五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

21步學(xué)會(huì)寫《推箱子》

2023-09-12 20:05 作者:英雄哪里出來  | 我要投稿

前言

? ? ? ?本期視頻點(diǎn)贊目標(biāo)達(dá)成,想學(xué)習(xí)的同學(xué)可以跟著這篇文章進(jìn)行學(xué)習(xí)。

? ? ???如果光看文字出現(xiàn)各種報(bào)錯(cuò),可以進(jìn)知識(shí)星球(英雄算法聯(lián)盟),星球內(nèi)部提供星主的親自答疑,可以掃本文文末的免費(fèi)體驗(yàn)券。由于B站文章的代碼格式不支持,所以代碼的部分采用圖片的方式,這樣也可以避免大家復(fù)制粘貼,逼著大家自己寫,何嘗不是一種倒逼。

? ? ? ?B站不能上傳文件,所以源碼可以在公眾號(hào):夜深人靜寫算法,回復(fù) pushbox?直接獲取。才發(fā)現(xiàn)好久沒打開B站了。

第01 - 04步、安裝插件

? ? ? ?這部分內(nèi)容和游戲本身的代碼無關(guān),沒有這個(gè)插件我們也能寫出代碼,所以選學(xué),想要安裝的B友可以直接前往視頻觀看教程:Pygame 推箱子視頻教學(xué)。


第05步、圖片制作

? ? ? ?進(jìn)入 res 目錄,右鍵新建圖片文件,點(diǎn)擊編輯,設(shè)置圖片大小,先做一個(gè)空地,命名為 floor.png 像這樣;

再做墻壁,簡(jiǎn)單畫幾條線,命名為 wall.png 像這樣;

? ? ? ?然后是箱子,直接拖一個(gè)圓角矩形,放上一個(gè)開關(guān),就非常的逼真了,命名為 box.png 像這樣;

接著做一個(gè)框框,代表箱子的目的地,命名為 goal.png 像這樣;

最后當(dāng)然要制作我們的主角了,想必你也已經(jīng)猜到了,命名為 player.png。


? ? ? ? ?分步視頻:https://t.zsxq.com/12dPSFmwn


第06步、常量定義

? ? ? ?新建一個(gè) const.py 文件,用來存儲(chǔ)常量,定義游戲窗口寬高:

定義每個(gè)游戲內(nèi)精靈的尺寸,像這樣:

定義四個(gè)方向分別為:

定義游戲內(nèi)的精靈類型:

最后對(duì)于每個(gè)字符,映射到它應(yīng)有的資源上:

? ? ? ? ?分步視頻:https://t.zsxq.com/11fEK7Idj


第07步、地圖制作

? ? ? ?新建一個(gè)文件夾data,再建一個(gè)文件夾level,新建一個(gè)文件 1.x 作為第一關(guān),第一行代表幾行幾列,然后用字符,來代替地圖元素像這樣:

? ? ?2.x 作為 第二關(guān);3.x 作為第三關(guān);4.x 作為第四關(guān),想做幾關(guān),就做幾關(guān),一氣呵成,沒有技巧,全是感情,唯手熟爾,你也可以。

? ? ? ? ?分步視頻:https://t.zsxq.com/11XkkYuAK


第08步、地圖加載

? ? ? 在 level.py 中,新建一個(gè) Level 的類,然后定義一個(gè) map 代表地圖的二維數(shù)組,把一些動(dòng)態(tài)的物體像 目的地、箱子、玩家,存儲(chǔ)在這個(gè) dynamicObj 中,并且存儲(chǔ)地圖的行數(shù) row 和列數(shù) col,調(diào)用 LoadLevel 接口來實(shí)現(xiàn)地圖的加載。

? ? ? 然后實(shí)現(xiàn)這個(gè) LoadLevel 函數(shù),先清空地圖、目的地、箱子、玩家 的信息,然后根據(jù) level 來讀取對(duì)應(yīng)的關(guān)卡文件,第一行讀取行數(shù)和列數(shù),從第二行開始,遍歷每一行的字符,如果是箱子,則當(dāng)前位置是 FLOOR,并且把坐標(biāo)放進(jìn)箱子列表中;如果是玩家,則當(dāng)前位置也是 FLOOR,并且把坐標(biāo)放進(jìn)玩家列表中;如果是目的地,則當(dāng)前位置也是 FLOOR,并且把坐標(biāo)放進(jìn)目的地列表中;否則,直接把這個(gè)字符塞到map的當(dāng)前行,行數(shù)加一。

? ? ? ? ?分步視頻:https://t.zsxq.com/11uhIVlXG


第09步、游戲精靈

? ? ? ? ?分步視頻:https://t.zsxq.com/11vg2W3fJ


第10步、地圖渲染

? ? ? ? ?分步視頻:https://t.zsxq.com/11Lqb9xrJ


第11步、動(dòng)態(tài)物渲染

? ? ? ? ?分步視頻:https://t.zsxq.com/11EdXlV5a


第12步、時(shí)間函數(shù)

? ? ? ? ?分步視頻:https://t.zsxq.com/11CV14t5S


第13步、玩家移動(dòng)

? ? ? ? ?分步視頻:https://t.zsxq.com/118HdIXIO


第14步、碰撞判定

? ? ? ? ?分步視頻:https://t.zsxq.com/11JaAFVoq


第15步、箱子判定

? ? ? ? ?分步視頻:https://t.zsxq.com/11MK8N1Up


第16步、推箱子

? ? ? ? ?分步視頻:https://t.zsxq.com/11PjNVnB3


第17步、結(jié)束判定

? ? ? ? ?分步視頻:https://t.zsxq.com/11A38I88z


第18步、重置游戲

? ? ? ? ?分步視頻:https://t.zsxq.com/11rxSa5NT


第19步、路徑記錄

? ? ? ? ?分步視頻:https://t.zsxq.com/11cZLZt9F


第20步、自動(dòng)推箱子

? ? ? ? ?分步視頻:https://t.zsxq.com/11jet1q8v


第22步、勝負(fù)判定

? ? ? ? ?分步視頻:https://t.zsxq.com/11B0cNLE3


英雄算法聯(lián)盟免費(fèi)體驗(yàn)券,免費(fèi)掃碼,可查看分步視頻:


21步學(xué)會(huì)寫《推箱子》的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
上饶市| 平度市| 海安县| 桓仁| 海口市| 兰考县| 阿尔山市| 南漳县| 平塘县| 思南县| 浦县| 闵行区| 开封市| 翼城县| 富蕴县| 大竹县| 东山县| 河源市| 金门县| 屏南县| 横山县| 揭西县| 六安市| 平阴县| 太和县| 静安区| 灵石县| 清远市| 迁安市| 茶陵县| 唐海县| 夏津县| 麦盖提县| 延寿县| 五家渠市| 青田县| 正定县| 靖江市| 务川| 通河县| 廊坊市|