国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

Godot yield坑

2022-12-20 11:00 作者:enigmaxp  | 我要投稿

yield最常用的做法之一就是,等待某個(gè)信號(hào)發(fā)送

有點(diǎn)類似rust和go里的管道channel,但是godot里貌似對(duì)這樣的用法有很多無法解釋的問題

比如下面:同時(shí)運(yùn)行 n1 和 n2?并等待他倆結(jié)束,在注釋掉20行的時(shí)候,一切正常,但是取消注釋后,14行的 yield end就不執(zhí)行了

注釋后運(yùn)行結(jié)果
取消注釋運(yùn)行結(jié)果

如果換成 n2 注釋不執(zhí)行,只執(zhí)行 n1 ,n1內(nèi)部有兩個(gè)yield,那結(jié)果也是正常的

猜測(cè)結(jié)論就是:在調(diào)用鏈路 如果有多個(gè)yield方法中,某個(gè)方法有多個(gè)子yield的情況 會(huì)導(dǎo)致父鏈路的上下文狀態(tài)丟失

這提醒我們,在godot中使用yield時(shí)要非常小心,如果大量使用yield,可能會(huì)造成無法挽回的調(diào)試災(zāi)難

在Godot4中,整個(gè)協(xié)程改為了await 方法,這樣就不能再獲取到 Gdscriptfunctionstate 了,這樣的確解決了問題,也解決了使用場(chǎng)景

如果要實(shí)現(xiàn)類似TriggerByAny或者TriggerByAll這樣的方法時(shí),必須要優(yōu)先考慮使用信號(hào)進(jìn)行包裝會(huì)更為穩(wěn)妥

Godot yield坑的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
通渭县| 旌德县| 大宁县| 曲阜市| 得荣县| 思茅市| 毕节市| 齐齐哈尔市| 互助| 民乐县| 岳池县| 龙南县| 阿巴嘎旗| 秦安县| 宝应县| 霍城县| 怀化市| 沁水县| 田东县| 承德市| 娄底市| 无极县| 竹山县| 贺兰县| 莆田市| 惠水县| 西宁市| 白山市| 宜昌市| 中卫市| 濉溪县| 蓝山县| 渭南市| 顺义区| 吴江市| 株洲县| 宜川县| 黄大仙区| 东台市| 怀安县| 彰武县|