五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ó)家法律
洱源县| 宝山区| 南澳县| 深水埗区| 大化| 莱西市| 兴仁县| 松潘县| 交城县| 汉源县| 澄江县| 堆龙德庆县| 西峡县| 浠水县| 邛崃市| 恩平市| 广安市| 鄂州市| 松原市| 文水县| 宜章县| 德安县| 白山市| 乳源| 万州区| 株洲县| 黄冈市| 婺源县| 铁力市| 凌云县| 宜城市| 和田市| 方城县| 宁武县| 广元市| 凌海市| 雅江县| 勐海县| 宁晋县| 保定市| 扶风县|