《我的世界》開發(fā)大師實戰(zhàn)班,快來解開你的開發(fā)難題

2021-01-06
編輯:ICE
評論

優(yōu)質的開發(fā)資訊交流平臺,能夠幫助各位開發(fā)者們更好地汲取開發(fā)相關知識,進而用于實踐?!段业氖澜纭烽_發(fā)大師實戰(zhàn)班幫助開發(fā)者們更高效地投入到深層次開發(fā)創(chuàng)造之中。

  優(yōu)質的開發(fā)資訊交流平臺,能夠幫助各位開發(fā)者們更好地汲取開發(fā)相關知識,進而用于實踐。開發(fā)大師實戰(zhàn)班通過為各階段開發(fā)者提供有針對性的技術培訓,解決了多個不同方面的開發(fā)難題,也拓展了開發(fā)者間的交流渠道,幫助開發(fā)者們更高效地投入到深層次開發(fā)創(chuàng)造之中。

  上一期開發(fā)大師實戰(zhàn)班的重難點筆記解答了自定義相關的問題,大家有認真學習嗎?本期開發(fā)大師實戰(zhàn)班將帶來關于MOD SDK使用中的答疑解惑,主要涉及UI及其他相關問題的補充,開發(fā)者們快召集伙伴,一起來學習吧。

  【MOD SDK答疑解惑】

  Q:想實現(xiàn)長按釋放技能的效果,但是這個接口不會用,能講講嗎?

  A:這個接口是這樣的,原版長按按鈕觸發(fā)的效果有:與生物交互、右鍵使用物品、破壞方塊等。所以這個接口設置的是這些原版操作的時間。如果你現(xiàn)在是要長按自己某個按鈕釋放技能的話,那就是按下按鈕時記個時間差,然后ui都有個Update的多態(tài),繼承之后在里面比較下時間差,比如超過設定上的1秒,2秒就執(zhí)行一次技能,然后按鈕彈起時把那個時間差去掉。ui也有個update刷新函數(shù),因為這個長按接口,跟自定義按鈕關系不大,這個是長按屏幕多久觸發(fā)mc原版的長按操作。

  Q:如果沒寫UI按鈕,可以不用UI做長按釋放技能嗎?

  A:可以的??梢栽谕婕沂殖帜硞€道具時長按設置比如3秒,那么長按屏幕會觸發(fā)道具的tryuseevent,然后在事件里做你想要的技能,再在玩家切換到其他物品時重置這個時間。

  Q:UI上的TouchEventHandler,按住時是不是也是一直每秒30次觸發(fā)對應的touch事件?

  A:按住的話只會觸發(fā)一次touchdown事件,彈起時觸發(fā)一次touchup事件。

  Q:變量域如何達到以裝備件數(shù)來給予藥水效果?

  A:如下圖所示:

游俠網1

  Q:Fog的顏色RGBA值怎么寫?

  A:將RGBA值/255后填入 fog.SetFogColor((R, G, B, A))即可。

  如下圖所示:

游俠網2

  Q:time組件的計時問題怎么算?

  A:一天的時間為24000。

  Q:指南書如何制作?

  A:如下圖所示:

游俠網3

  Q:請問有方法防止組件中存儲到世界的數(shù)據不被別的組件干擾或者刪除嗎?

  A:因為目前組件出現(xiàn)過“別人的組件一加載就初始化世界數(shù)據”這種情況,這導致我們組件的玩家使用很久存儲了很多資源數(shù)據在世界中,同時加載就會出現(xiàn)玩家資源數(shù)據丟失的情況。首先,extraData應該還是有個能夠儲存數(shù)據量的上限。個人認為,每個鍵對應的數(shù)據量有一個上限。其次,注意自己的key不要跟別人的重復。如果是方塊數(shù)據的話,之后可以保存到自定義方塊實體上。

  Q:這個接口是無效的嗎?

  SetPlayerMaxExhaustionValue

  comp = serverApi.CreateComponent(player_id, "Minecraft", "player")

  comp.SetPlayerMaxExhaustionValue(0.1)

  A:該接口本來是調整玩家饑餓度消耗速度的,接口說明上寫的是“值越大速度越慢”。

  而我們這邊調整讓他低于默認值并沒有變化??梢詤⒖紈iki上面的飽和度詞條。

  因為飽和度計算起來很麻煩,wiki饑餓鏈接:https://minecraft-zh.gamepedia.com/%E9%A5%A5%E9%A5%BF

  我們按照wiki上的食物飽和度詞條,已經將飽和度設置為0了。但是饑餓條沒有抖動,也沒有掉飽和度。這個接口看起來是原版有一個消耗度,當觸發(fā)了你設置的這個MaxExhaustionValue后,會歸零且饑餓度減少1。如果這幾個消耗很慢的話,就嘗試設置默認最大值為4,然后print返回結果驗證是否設置成功。

  Q:結構載入時,有方法保證一定在水面之上么?

  A:有的。Y用三元運算符,使其必須取到62格以上的位置,否則會放置在0格。

  Q:可以主動讓區(qū)塊加載嗎?

  A:因為手動放置結構的話也會遇到區(qū)塊未加載、放置失敗的問題。這里的最小最大坐標設置、key作用不明。

游俠網4

游俠網5

  可以嘗試用(SetAddArea)這個接口。如果要設置一個區(qū)塊的加載區(qū)域,就需要給一個最小坐標和最大坐標。可以理解為一個方盒子,在這個區(qū)域內嘗試放置。key就是一個身份證明,之后要回收掉這個常加載區(qū)域的話,要用key來回收。建議直接用原版指令設置常加載區(qū)塊。如圖所示:

游俠網6

  Q:獲取指定范圍內的實體列表如何在代碼層實現(xiàn)?

  A:(除開SetCommand組件的方式)兩種方法:一種是獲取存檔所有實體(不包括玩家);另一種是獲取正方體范圍內實體(包括玩家)。這個在組建文檔里都有的,建議用GetEntitiesAround接口中的filters參數(shù)。

  Q:GetComponent可以獲取到JSON里定義的部分嗎?

  A:建議用attrComp試試。例如下圖所示:

游俠網7

  Q:請問下述情況原因是什么?

  如下代碼,路徑一切正常,注釋掉第七行的話,第八行也會報錯furnaceManagerFactory.py這個文件找不到很奇怪。

游俠網8

游俠網9

游俠網10

  A:有可能是把init.py文件刪掉了,或是把furnaceManagerFactory文件刪掉了,又或者是添加了其他內容進來。可能某個module里面,有東西弄錯了。建議再看看有沒有哪里格式錯了等等。檢查下文件里有個縮進是真tab,而不是四個空格。如果是四個空格,python文件直接就不認了。

  Q:請問這個寫法有什么問題嗎?

游俠網11

游俠網12

  A:可以用"!="。is not是地址比較,字典的類型里的str的儲存方式和普通str不太一樣。

  以上問題的解答都來自開發(fā)大師實戰(zhàn)班導師Spcoo和境界,大家看完有沒有將心中的疑問解開呢?關于實戰(zhàn)班還有更多精彩內容,歡迎關注開發(fā)者公眾號:我的世界Minecraft開發(fā)者 進一步了解!《我的世界》將與你一同成長,探索無限的創(chuàng)造可能。

  關于《我的世界》

  網易游戲代理的《我的世界》(Minecraft)是一個關于方塊與冒險的游戲,玩家可以獨自一人或與朋友們一起自由冒險,探索隨機生成的世界,創(chuàng)造令人驚嘆的奇跡。無論是建造簡單質樸的小屋,還是拔天倚地的城堡,盡可自由發(fā)揮你無窮的想象力。

  《我的世界》官方網站:https://mc.163.com/

  《我的世界》官方微信:我的世界Minecraft

  《我的世界》官方微博:我的世界Minecraft

  《我的世界》官方論壇:https://mc.netease.com/

  《我的世界》官方客服電話:PC版 95163815;手游 95163816

  《我的世界》官方玩家交流QQ群:677602705

  《我的世界》創(chuàng)造者反饋郵箱:minecraftstarter@163.com

更多內容:我的世界專題我的世界論壇

相關評論

新游測試表

更多>>
日期 游戲名字 狀態(tài) 操作
08-09 戰(zhàn)艦世界OL 13.7版本上線 淘號
08-08 坦克世界OL 十四周年紀念 淘號
07-24 霸王大陸 毒霧沼澤 搶號
11-16 泰亞史詩 “高燃高爆突破重圍” 搶號
09-21 綠茵信仰 周年慶版本 搶號
11-18 刀劍online 公測 搶號
11-04 龍武 內測 搶號
11-03 奇跡MU 塞爾蘇斯 搶號
07-14 生死狙擊2 公測 搶號
03-12 龍之封印 終極內測 搶號

高清美圖

更多>>
《賽博朋克2077》游戲截圖
《刺客信條:英靈殿》游戲截圖
《泰坦工業(yè)》游戲截圖
關于游俠 | 廣告合作 | 人才招聘 | 投訴建議 | 聯(lián)系我們 | 網站地圖 | 版權保護投訴指引
CopyRight ? 1999-2023 ALi213.Net All Right Reserved 蘇ICP備2023007791號-1
游俠網 版權所有