国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

手把手教你用Python編一個(gè)《我的世界》 2.材質(zhì)及第一人稱

這篇具有很好參考價(jià)值的文章主要介紹了手把手教你用Python編一個(gè)《我的世界》 2.材質(zhì)及第一人稱。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

本次,我們將實(shí)現(xiàn)這樣一個(gè)效果:

手把手教你用Python編一個(gè)《我的世界》 2.材質(zhì)及第一人稱


首先,導(dǎo)入ursina模塊

from ursina import *

創(chuàng)建app

app=Ursina()

定義Block類,繼承自Button

class Block(Button):
    def __init__(self,position=(0,0,0),texture=grass_texture):
        super().__init__(
            parent=scene,
            position=position,
            model="cube",
            highlight_color=color.lime,
            color=color.white,
            texture=texture,
            origin_y=0.5
        )

然后,我們需要一個(gè)天空

定義Sky類

class Sky(Entity):
    def __init__(self):
        super().__init__(
            parent=scene,
            model="sphere",
            scale=1500,
            texture=sky_texture,
            double_sided=True,
            position=(0,0,0)
        )

因?yàn)槲覀兯械姆綁K包括天空都需要圖片材質(zhì),所以我們?cè)诔绦蜷_頭寫以下代碼:

grass_texture=load_texture("texture/grass.jpg")
dirt_texture=load_texture("texture/dirt.jpg")
sky_texture=load_texture("texture/sky.jpg")
cobblestone_texture=load_texture("texture/cobblestone.png")
plank_texture=load_texture("texture/plank.jpg")
stone_texture=load_texture("texture/stone.jpg")
bedrock_texture=load_texture("texture/bedrock.jpg")
brick_texture=load_texture("texture/brick.png")
endstone_texture=load_texture("texture/endstone.jpg")
lapis_texture=load_texture("texture/lapis.jpg")
leaf_texture=load_texture("texture/leaf.jpg")
lucky_block_texture=load_texture("texture/luckyblock.png")

然后咱們先創(chuàng)建一個(gè)超平坦地形,厚度就只有1層吧,因?yàn)榉綁K多了很容易變卡掉幀

那我們就把底面設(shè)置成基巖吧

height=1
for y in range(0,height):
    for z in range(-15,16):
        for x in range(-15,16):
            print(f"Position:({x},{y},{z})")
            texture=bedrock_texture
            Block(position=(x,y,z),texture=texture)

這時(shí)候,我們需要一個(gè)第一人稱控制器,在程序前導(dǎo)入

from ursina.prefabs.first_person_controller import FirstPersonController

然后在程序后面寫上

player=FirstPersonController()

順便創(chuàng)建個(gè)天空

sky=Sky()

最后運(yùn)行app

app.run()

我們還要繼續(xù)設(shè)置放置和破壞方塊的功能,在Block中添加兩個(gè)函數(shù),用于設(shè)置選取方塊類型還有放置和破壞方塊的效果

    def input(self,key):
        if self.hovered:
            if key=="right mouse down":
                Block(position=self.position+mouse.normal,texture=select_texture)
            if key=="left mouse down":
                if self.texture!=bedrock_texture:
                    destroy(self)

    def update(self):
        global select_texture
        if held_keys["1"]: select_texture=grass_texture
        if held_keys["2"]: select_texture=dirt_texture
        if held_keys["3"]: select_texture=cobblestone_texture
        if held_keys["4"]: select_texture=plank_texture
        if held_keys["5"]: select_texture=stone_texture
        if held_keys["6"]: select_texture=brick_texture
        if held_keys["7"]: select_texture=endstone_texture
        if held_keys["8"]: select_texture=lapis_texture
        if held_keys["9"]: select_texture=leaf_texture
        if held_keys["0"]: select_texture=lucky_block_texture

在導(dǎo)入材質(zhì)后添加默認(rèn)選?。?/p>

select_texture=grass_texture

最后運(yùn)行效果如下:

手把手教你用Python編一個(gè)《我的世界》 2.材質(zhì)及第一人稱


最終代碼:

from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController

app=Ursina()

grass_texture=load_texture("texture/grass.jpg")
dirt_texture=load_texture("texture/dirt.jpg")
sky_texture=load_texture("texture/sky.jpg")
cobblestone_texture=load_texture("texture/cobblestone.png")
plank_texture=load_texture("texture/plank.jpg")
stone_texture=load_texture("texture/stone.jpg")
bedrock_texture=load_texture("texture/bedrock.jpg")
brick_texture=load_texture("texture/brick.png")
endstone_texture=load_texture("texture/endstone.jpg")
lapis_texture=load_texture("texture/lapis.jpg")
leaf_texture=load_texture("texture/leaf.jpg")
lucky_block_texture=load_texture("texture/luckyblock.png")
select_texture=grass_texture

class Sky(Entity):
    def __init__(self):
        super().__init__(
            parent=scene,
            model="sphere",
            scale=1500,
            texture=sky_texture,
            double_sided=True,
            position=(0,0,0)
        )

class Block(Button):
    def __init__(self,position=(0,0,0),texture=grass_texture):
        super().__init__(
            parent=scene,
            position=position,
            model="cube",
            highlight_color=color.lime,
            color=color.white,
            texture=texture,
            origin_y=0.5
        )

    def input(self,key):
        if self.hovered:
            if key=="right mouse down":
                Block(position=self.position+mouse.normal,texture=select_texture)
            if key=="left mouse down":
                if self.texture!=bedrock_texture:
                    destroy(self)

    def update(self):
        global select_texture
        if held_keys["1"]: select_texture=grass_texture
        if held_keys["2"]: select_texture=dirt_texture
        if held_keys["3"]: select_texture=cobblestone_texture
        if held_keys["4"]: select_texture=plank_texture
        if held_keys["5"]: select_texture=stone_texture
        if held_keys["6"]: select_texture=brick_texture
        if held_keys["7"]: select_texture=endstone_texture
        if held_keys["8"]: select_texture=lapis_texture
        if held_keys["9"]: select_texture=leaf_texture
        if held_keys["0"]: select_texture=lucky_block_texture

height=1
for y in range(0,height):
    for z in range(-15,16):
        for x in range(-15,16):
            print(f"Position:({x},{y},{z})")
                texture=bedrock_texture
            Block(position=(x,y,z),texture=texture)

player=FirstPersonController()
sky=Sky()

app.run()

下節(jié)我們將繼續(xù)優(yōu)化游戲,大家可以免費(fèi)訂閱我的專欄哦!

喜歡的話就點(diǎn)贊關(guān)注吧!我們下期再見!


附資源(免費(fèi)下載):

制作簡易版《我的世界》所需要的材質(zhì)圖片-Python文檔類資源-CSDN下載制作簡易版《我的世界》所需要的材質(zhì)圖片更多下載資源、學(xué)習(xí)資料請(qǐng)?jiān)L問CSDN下載頻道.https://download.csdn.net/download/leleprogrammer/85382058文章來源地址http://www.zghlxwxcb.cn/news/detail-441970.html

到了這里,關(guān)于手把手教你用Python編一個(gè)《我的世界》 2.材質(zhì)及第一人稱的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 手把手教你用Python實(shí)現(xiàn)2048小游戲

    手把手教你用Python實(shí)現(xiàn)2048小游戲

    感覺好久沒有寫小游戲玩了,今天恰巧有空.這次我來用Python做個(gè)2048小游戲吧.廢話不多說,文中有非常詳細(xì)的代碼示例,需要的朋友可以參考下 目錄 一、開發(fā)環(huán)境 二、環(huán)境搭建 三、原理介紹 四、效果圖 Python版本:3.6.4 相關(guān)模塊: pygame模塊; 以及一些Python自帶的模塊。 安裝

    2024年04月28日
    瀏覽(94)
  • 爬蟲實(shí)戰(zhàn)|手把手教你用Python爬蟲(附詳細(xì)源碼)

    爬蟲實(shí)戰(zhàn)|手把手教你用Python爬蟲(附詳細(xì)源碼)

    實(shí)踐來源于理論,做爬蟲前肯定要先了解相關(guān)的規(guī)則和原理,要知道互聯(lián)網(wǎng)可不是法外之地,你一頓爬蟲騷操作搞不好哪天就… ?首先,咱先看下爬蟲的定義:網(wǎng)絡(luò)爬蟲(又稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機(jī)器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自

    2024年02月02日
    瀏覽(102)
  • 手把手教你用Python編寫配置腳本引擎(福利篇)

    手把手教你用Python編寫配置腳本引擎(福利篇)

    版權(quán)聲明:原創(chuàng)不易,本文禁止抄襲、轉(zhuǎn)載需附上鏈接,侵權(quán)必究! 配置信息初始化 定義配置引擎類和初始化方法,其中有兩個(gè)屬性,配置實(shí)例對(duì)象及配置文件路徑: 將配置信息寫入到配置文件中,該方法有三個(gè)形參,category(配置信息類別),name(配置字段名稱),value(配置字

    2024年02月06日
    瀏覽(102)
  • 手把手教你用SQLServer連接Visual Studio2019并編寫一個(gè)學(xué)生信息管理頁面

    手把手教你用SQLServer連接Visual Studio2019并編寫一個(gè)學(xué)生信息管理頁面

    目錄 安裝SQLServer 創(chuàng)建新項(xiàng)目 建數(shù)據(jù)庫建表 窗體設(shè)計(jì) 代碼實(shí)現(xiàn) ?整體效果 ? 用SQLServer連接Visual Studio,首先需要下載SQLServer app。 下載教程,我之前寫過,可以點(diǎn)擊如下鏈接先下載安裝SQLServer: SQL Server(express)安裝教程 安裝好SQL之后,打開VisualStudio2019,新建一個(gè)window項(xiàng)目 ,步

    2024年02月12日
    瀏覽(22)
  • 手把手教你用python演奏音樂(以富士山下為例)

    手把手教你用python演奏音樂(以富士山下為例)

    目錄 1.代碼 2.文本 3.效果圖? 這兩天,我非常無聊,琢磨出了十二平均律,并利用mido庫進(jìn)行編寫,實(shí)現(xiàn)了利用python演奏音樂。廢話不多說了,直接上代碼,供諸位大佬把玩。 ?

    2024年02月12日
    瀏覽(100)
  • 手把手教你用python一鍵搶12306火車票(附代碼)

    手把手教你用python一鍵搶12306火車票(附代碼)

    哈嘍,哈嘍~,一年一度的搶火車票大戰(zhàn)正式拉開序幕… 然餓大多數(shù)人碰到的是這種情況:當(dāng)你滿心期待摩拳擦掌準(zhǔn)備搶票的時(shí)候,你會(huì)發(fā)現(xiàn)一票難求!想回趟家真難! 那么作為程序猿的你,當(dāng)然要用程序猿的方式來搶票!下面分享用python來搶票! 城市cookie可根據(jù)具體需求自

    2024年02月15日
    瀏覽(98)
  • 手把手教你用代碼畫架構(gòu)圖

    作者:京東物流?覃玉杰 本文將給大家介紹一種簡潔明了軟件架構(gòu)可視化模型——C4模型,并手把手教大家如何使用 代碼 繪制出精美的C4架構(gòu)圖。 閱讀本文之后,讀者畫的架構(gòu)圖將會(huì)是這樣的: 注:該圖例僅作繪圖示例使用,不確保其完整性、可行性。 C4是軟件架構(gòu)可視化

    2024年02月04日
    瀏覽(28)
  • 快收藏!手把手教你用AI繪畫

    快收藏!手把手教你用AI繪畫

    點(diǎn)個(gè)關(guān)注??跟騰訊工程師學(xué)技術(shù) 最近看到一篇有趣的文章,一副名為《太空歌劇院》(如下圖)的藝術(shù)品在某美術(shù)比賽上,獲得了第一名的成績, 有意思的是這件作品是通過AI來實(shí)現(xiàn)的畫作, 頓時(shí)覺得非常神奇。結(jié)合近期科技媒體頻頻報(bào)道的AI作畫爆火現(xiàn)象,深入了解了下

    2024年02月09日
    瀏覽(30)
  • 手把手教你用AirtestIDE無線連接手機(jī)

    手把手教你用AirtestIDE無線連接手機(jī)

    一直以來,我們發(fā)現(xiàn)同學(xué)們都挺喜歡用無線的方式連接手機(jī),正好安卓11出了個(gè)無線連接的新姿勢,我們今天就一起來看看,如何用AirtestIDE無線連接你的Android設(shè)備~ 當(dāng) 手機(jī)與電腦處在同一個(gè)wifi 下,即可嘗試無線連接手機(jī)了,但是這種方式受限于網(wǎng)絡(luò)連接的穩(wěn)定性,可能會(huì)出

    2023年04月18日
    瀏覽(27)
  • 手把手教你用video實(shí)現(xiàn)視頻播放功能

    手把手教你用video實(shí)現(xiàn)視頻播放功能

    哈嘍。大家好啊 今天需要做一個(gè)視頻播放列表,讓我想到了video的屬性 下面讓我們先看看實(shí)現(xiàn)效果 這里是我的代碼 width是當(dāng)前播放頁面的寬度 height是當(dāng)前播放頁面的高度 Controls屬性用就是控制欄那些了 比如播放按鈕 暫停按鈕 autoplay是指的是自動(dòng)播放 poster是指的是初始化進(jìn)

    2024年02月12日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包