最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
鸡泽县| 西乌| 南川市| 杂多县| 南靖县| 南召县| 秦皇岛市| 博爱县| 当雄县| 潞城市| 乐清市| 三亚市| 德令哈市| 惠水县| 双鸭山市| 凤城市| 习水县| 濉溪县| 贡嘎县| 周口市| 呼玛县| 乌什县| 叙永县| 定南县| 长兴县| 会理县| 黑河市| 鸡泽县| 大冶市| 宜城市| 得荣县| 昂仁县| 江西省| 西宁市| 湘潭县| 安陆市| 泽库县| 五原县| 准格尔旗| 土默特左旗| 兴义市|