優(yōu)質(zhì)的開發(fā)資訊交流平臺(tái),能夠幫助各位開發(fā)者們更好地汲取開發(fā)相關(guān)知識(shí),進(jìn)而用于實(shí)踐。開發(fā)大師實(shí)戰(zhàn)班通過為各階段開發(fā)者提供有針對(duì)性的技術(shù)培訓(xùn),解決了多個(gè)不同方面的開發(fā)難題,也拓展了開發(fā)者間的交流渠道,幫助開發(fā)者們更高效地投入到深層次開發(fā)創(chuàng)造之中。
上一期開發(fā)大師實(shí)戰(zhàn)班的重難點(diǎn)筆記解答了自定義相關(guān)的問題,大家有認(rèn)真學(xué)習(xí)嗎?本期開發(fā)大師實(shí)戰(zhàn)班將帶來關(guān)于MOD SDK使用中的答疑解惑,主要涉及UI及其他相關(guān)問題的補(bǔ)充,開發(fā)者們快召集伙伴,一起來學(xué)習(xí)吧。
【MOD SDK答疑解惑】
Q:想實(shí)現(xiàn)長(zhǎng)按釋放技能的效果,但是這個(gè)接口不會(huì)用,能講講嗎?
A:這個(gè)接口是這樣的,原版長(zhǎng)按按鈕觸發(fā)的效果有:與生物交互、右鍵使用物品、破壞方塊等。所以這個(gè)接口設(shè)置的是這些原版操作的時(shí)間。如果你現(xiàn)在是要長(zhǎng)按自己某個(gè)按鈕釋放技能的話,那就是按下按鈕時(shí)記個(gè)時(shí)間差,然后ui都有個(gè)Update的多態(tài),繼承之后在里面比較下時(shí)間差,比如超過設(shè)定上的1秒,2秒就執(zhí)行一次技能,然后按鈕彈起時(shí)把那個(gè)時(shí)間差去掉。ui也有個(gè)update刷新函數(shù),因?yàn)檫@個(gè)長(zhǎng)按接口,跟自定義按鈕關(guān)系不大,這個(gè)是長(zhǎng)按屏幕多久觸發(fā)mc原版的長(zhǎng)按操作。
Q:如果沒寫UI按鈕,可以不用UI做長(zhǎng)按釋放技能嗎?
A:可以的??梢栽谕婕沂殖帜硞€(gè)道具時(shí)長(zhǎng)按設(shè)置比如3秒,那么長(zhǎng)按屏幕會(huì)觸發(fā)道具的tryuseevent,然后在事件里做你想要的技能,再在玩家切換到其他物品時(shí)重置這個(gè)時(shí)間。
Q:UI上的TouchEventHandler,按住時(shí)是不是也是一直每秒30次觸發(fā)對(duì)應(yīng)的touch事件?
A:按住的話只會(huì)觸發(fā)一次touchdown事件,彈起時(shí)觸發(fā)一次touchup事件。
Q:變量域如何達(dá)到以裝備件數(shù)來給予藥水效果?
A:如下圖所示:

Q:Fog的顏色RGBA值怎么寫?
A:將RGBA值/255后填入 fog.SetFogColor((R, G, B, A))即可。
如下圖所示:

Q:time組件的計(jì)時(shí)問題怎么算?
A:一天的時(shí)間為24000。
Q:指南書如何制作?
A:如下圖所示:

Q:請(qǐng)問有方法防止組件中存儲(chǔ)到世界的數(shù)據(jù)不被別的組件干擾或者刪除嗎?
A:因?yàn)槟壳敖M件出現(xiàn)過“別人的組件一加載就初始化世界數(shù)據(jù)”這種情況,這導(dǎo)致我們組件的玩家使用很久存儲(chǔ)了很多資源數(shù)據(jù)在世界中,同時(shí)加載就會(huì)出現(xiàn)玩家資源數(shù)據(jù)丟失的情況。首先,extraData應(yīng)該還是有個(gè)能夠儲(chǔ)存數(shù)據(jù)量的上限。個(gè)人認(rèn)為,每個(gè)鍵對(duì)應(yīng)的數(shù)據(jù)量有一個(gè)上限。其次,注意自己的key不要跟別人的重復(fù)。如果是方塊數(shù)據(jù)的話,之后可以保存到自定義方塊實(shí)體上。
Q:這個(gè)接口是無效的嗎?
SetPlayerMaxExhaustionValue
comp = serverApi.CreateComponent(player_id, "Minecraft", "player")
comp.SetPlayerMaxExhaustionValue(0.1)
A:該接口本來是調(diào)整玩家饑餓度消耗速度的,接口說明上寫的是“值越大速度越慢”。
而我們這邊調(diào)整讓他低于默認(rèn)值并沒有變化。可以參考wiki上面的飽和度詞條。
因?yàn)轱柡投扔?jì)算起來很麻煩,wiki饑餓鏈接:https://minecraft-zh.gamepedia.com/%E9%A5%A5%E9%A5%BF
我們按照wiki上的食物飽和度詞條,已經(jīng)將飽和度設(shè)置為0了。但是饑餓條沒有抖動(dòng),也沒有掉飽和度。這個(gè)接口看起來是原版有一個(gè)消耗度,當(dāng)觸發(fā)了你設(shè)置的這個(gè)MaxExhaustionValue后,會(huì)歸零且饑餓度減少1。如果這幾個(gè)消耗很慢的話,就嘗試設(shè)置默認(rèn)最大值為4,然后print返回結(jié)果驗(yàn)證是否設(shè)置成功。
Q:結(jié)構(gòu)載入時(shí),有方法保證一定在水面之上么?
A:有的。Y用三元運(yùn)算符,使其必須取到62格以上的位置,否則會(huì)放置在0格。
Q:可以主動(dòng)讓區(qū)塊加載嗎?
A:因?yàn)槭謩?dòng)放置結(jié)構(gòu)的話也會(huì)遇到區(qū)塊未加載、放置失敗的問題。這里的最小最大坐標(biāo)設(shè)置、key作用不明。


可以嘗試用(SetAddArea)這個(gè)接口。如果要設(shè)置一個(gè)區(qū)塊的加載區(qū)域,就需要給一個(gè)最小坐標(biāo)和最大坐標(biāo)??梢岳斫鉃橐粋€(gè)方盒子,在這個(gè)區(qū)域內(nèi)嘗試放置。key就是一個(gè)身份證明,之后要回收掉這個(gè)常加載區(qū)域的話,要用key來回收。建議直接用原版指令設(shè)置常加載區(qū)塊。如圖所示:

Q:獲取指定范圍內(nèi)的實(shí)體列表如何在代碼層實(shí)現(xiàn)?
A:(除開SetCommand組件的方式)兩種方法:一種是獲取存檔所有實(shí)體(不包括玩家);另一種是獲取正方體范圍內(nèi)實(shí)體(包括玩家)。這個(gè)在組建文檔里都有的,建議用GetEntitiesAround接口中的filters參數(shù)。
Q:GetComponent可以獲取到JSON里定義的部分嗎?
A:建議用attrComp試試。例如下圖所示:

Q:請(qǐng)問下述情況原因是什么?
如下代碼,路徑一切正常,注釋掉第七行的話,第八行也會(huì)報(bào)錯(cuò)furnaceManagerFactory.py這個(gè)文件找不到很奇怪。



A:有可能是把init.py文件刪掉了,或是把furnaceManagerFactory文件刪掉了,又或者是添加了其他內(nèi)容進(jìn)來??赡苣硞€(gè)module里面,有東西弄錯(cuò)了。建議再看看有沒有哪里格式錯(cuò)了等等。檢查下文件里有個(gè)縮進(jìn)是真tab,而不是四個(gè)空格。如果是四個(gè)空格,python文件直接就不認(rèn)了。
Q:請(qǐng)問這個(gè)寫法有什么問題嗎?


A:可以用"!="。is not是地址比較,字典的類型里的str的儲(chǔ)存方式和普通str不太一樣。
以上問題的解答都來自開發(fā)大師實(shí)戰(zhàn)班導(dǎo)師Spcoo和境界,大家看完有沒有將心中的疑問解開呢?關(guān)于實(shí)戰(zhàn)班還有更多精彩內(nèi)容,歡迎關(guān)注開發(fā)者公眾號(hào):我的世界Minecraft開發(fā)者 進(jìn)一步了解!《我的世界》將與你一同成長(zhǎng),探索無限的創(chuàng)造可能。
關(guān)于《我的世界》
網(wǎng)易游戲代理的《我的世界》(Minecraft)是一個(gè)關(guān)于方塊與冒險(xiǎn)的游戲,玩家可以獨(dú)自一人或與朋友們一起自由冒險(xiǎn),探索隨機(jī)生成的世界,創(chuàng)造令人驚嘆的奇跡。無論是建造簡(jiǎn)單質(zhì)樸的小屋,還是拔天倚地的城堡,盡可自由發(fā)揮你無窮的想象力。
《我的世界》官方網(wǎng)站:https://mc.163.com/
《我的世界》官方微信:我的世界Minecraft
《我的世界》官方微博:我的世界Minecraft
《我的世界》官方論壇:https://mc.netease.com/
《我的世界》官方客服電話:PC版 95163815;手游 95163816
《我的世界》官方玩家交流QQ群:677602705
《我的世界》創(chuàng)造者反饋郵箱:minecraftstarter@163.com
《我的世界》開學(xué)季專題,帶你開啟新的冒險(xiǎn)旅程[03-05]
《我的世界》冒險(xiǎn)玩法《三國(guó)·赤壁》,大神攻略流程篇(下)[03-03]
《我的世界》x 優(yōu)衣庫(kù)聯(lián)動(dòng)開啟,合作款UT與限定皮膚即將上線![03-02]
《我的世界》冒險(xiǎn)玩法《三國(guó)·赤壁》,大神攻略流程篇(上)[02-26]
華南理工大學(xué)來到《我的世界》,南沙水鳥世界組件驚喜上線[02-24]
回到“媽媽”的年代,《我的世界》X《你好,李煥英》聯(lián)動(dòng)玩法正式開啟[02-08]
春節(jié)大聯(lián)歡,《我的世界》三大服務(wù)器新春活動(dòng)陪你過大年[02-08]
炫酷新世界,《我的世界》無限法則上線[02-08]
《我的世界》X《熊出沒·狂野大陸》,動(dòng)物冒險(xiǎn)新玩法今日上線[02-07]
《我的世界》驚喜限定,春節(jié)紅包封面上線啦![02-07]
相關(guān)評(píng)論