最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
普格县| 施秉县| 古交市| 邢台市| 舞阳县| 宝坻区| 无为县| 霸州市| 厦门市| 西乌珠穆沁旗| 瑞昌市| 荣成市| 万山特区| 新河县| 惠来县| 炉霍县| 思南县| 鄄城县| 贺兰县| 新竹县| 台东县| 南木林县| 威信县| 益阳市| 济源市| 胶州市| 湘西| 花垣县| 保靖县| 泽库县| 葫芦岛市| 旬邑县| 自治县| 阆中市| 确山县| 临沂市| 广东省| 镇远县| 北流市| 博野县| 九寨沟县|