寫不完的BUG,紀念因爲手滑寫錯代碼而浪費的幾個小時時間。

前不久用Unity寫了一個Socket的聊天軟件(其實是爲了交網絡編程的課程設計),UI是用以前下的官方UGUI的演示示例改的,大概是這個樣子


自認爲狂拽酷炫吊炸天,實際也不過如此,但是最近又興趣使然,沒錯這次不是爲了交課設了,準備做一款可以局域網聯網的卡牌遊戲,在做類似CS,紅警之類的大廳建房間這種東東的時候花了幾個小時踩了前不久踩過的坑,實在是很無語。

Socket監聽使用循環的時候一般是死循環並且放在線程中,在退出時如果不結束線程會導致UI卡住,這時早就明白的。

Unity的線程結束要放在OnDestroy中也是早就明白的。

但是尼瑪我有一次把結束線程的代碼放在了Destroy()而不是OnDestroy()中 ,我真是。。。。。導致Unity在第一次執行的時候沒有問題,在第二次執行的時候就會卡住,無論我怎麼結束線程也不行。

白白浪費我幾個小時的時間,所以要切記!!

遊戲結束記得關閉所有線程(最好是條件正常關閉),如果沒有設置標識符,那就只能在OnDestroy()中把abort()扔進去了,切記是OnDestroy()

話說要不要把做的聊天源碼發上來湊篇博文的說,話說要不要把以前寫的東西搬運過來的說,好像HR要看的說委屈委屈委屈


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章