問題描述:
在腳本中聲明了一個public的類成員變量,并賦初值,運行過幾次后賦予一個新的初始值,但是Inspector中依然顯示舊的值,使用Debug.Log輸出該值,依然為舊值?;蛘哂幸环N情況是雖然給該變量賦了初始值,但是在Inspector中該變量值為0。
原因解釋:
C#是面向?qū)ο蟮恼Z言,在Unity中,游戲?qū)ο笊系慕M件是不同類的實例,而類的成員變量只會在類實例化的時候(即往游戲?qū)ο笊咸砑咏M件的的時候)進行一次初始化,以后在腳本中修改類成員變量的初始值時,對于已經(jīng)實例化的腳本組件中的類成員變量的初始值是沒有影響的,由此導(dǎo)致了上面的問題。但是如果此時再次添加該腳本組件(即再次實例化),那么新的腳本組件中的類成員變量的初始值為修改后的值。
解決辦法:
方法1:刪除該組件,然后再次添加該組件,使其再次實例化。較為麻煩
方法2:在Unity中選中該腳本組件,點擊組件最右側(cè)三個點的按鈕,然后Reset該組件即可。簡單文章來源:http://www.zghlxwxcb.cn/news/detail-602349.html
以上是我一個人自己琢磨出來的,如有什么說的不對的還望指出文章來源地址http://www.zghlxwxcb.cn/news/detail-602349.html
到了這里,關(guān)于Unity中修改腳本中的變量初始值,但在Unity中不更新的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!