【Unity精灵】2D精灵图片替换常见的问题
一開(kāi)始就從大的方向建立起一堆邏輯代碼,然而對(duì)于一個(gè)新手來(lái)說(shuō),大的邏輯是正確的
小的毛病很多,這就造成了很多小的邏輯的麻煩
 
替換精靈,如果精靈已經(jīng)建立起來(lái),并且有了標(biāo)簽tag的時(shí)候,遍歷同一個(gè)標(biāo)簽的物體,將是最好的打算,然后在
把范圍縮小,使得最后找到目標(biāo)
 
 
動(dòng)態(tài)更換物體的2D精靈最簡(jiǎn)單的兩句代碼
這個(gè)路徑是Resources文件夾下面的ImageSprite/BodyCloth/Clothtest001/Clothtest001B/hand/文件夾的Cloth_Left_Hand_1文件,不管是什么,最好是對(duì)應(yīng)的圖片
 
Sprite spr = Resources.Load<Sprite>("ImageSprite/BodyCloth/Clothtest001/Clothtest001B/hand/Cloth_Left_Hand_1");//生成精靈
 ??????? gameObject.GetComponent<SpriteRenderer>().sprite = spr;
 
 
然后遍歷相同標(biāo)簽的物體
 
foreach (var cloth_respawn in cloth_respawns)
 ???????? {
 ???????????? Debug.Log(cloth_respawn.name);
 ???????? }
 
這個(gè)遍歷函數(shù)也是正確的,那么就開(kāi)始判斷
foreach (var cloth_respawn in cloth_respawns)
 ???????? {
 ???????????? string sprspr = Cloth_RPath + cloth_respawn.name;//獲得文件路徑
 ??????????? Debug.Log(sprspr);//查看 是否是正確的
 ??????????? Sprite spr = Resources.Load<Sprite>(sprspr);//生成精靈
 ??????????????? cloth_respawn.gameObject.GetComponent<SpriteRenderer>().sprite = spr;//再看這句話是否正確執(zhí)行
 ???????? }
 
發(fā)現(xiàn)大量 要替換的精靈 沒(méi)有被替換成想要的精靈
 
看著看著發(fā)現(xiàn)是因?yàn)?#xff0c;有的 相同標(biāo)簽的物體的精靈 其中有一部分是不用 換精靈的,在
? Sprite spr = Resources.Load<Sprite>(sprspr);//生成精靈
使用了Debug.Log(spr.name);
 
??????????????? cloth_respawn.gameObject.GetComponent<SpriteRenderer>().sprite = spr;//再看這句話是否正確執(zhí)行
發(fā)現(xiàn)報(bào)錯(cuò),spr不存在,沒(méi)有實(shí)例化。既然沒(méi)有實(shí)例化,那么就是為空的,如果不為空,那么Debug.Log(spr.name);說(shuō)不定就可以
foreach (var cloth_respawn in cloth_respawns)
 ???????? {
 ???????????? string sprspr = Cloth_RPath + cloth_respawn.name;
 ??????????? Debug.Log(sprspr);
 ??????????? //下面的精靈圖片的文件路徑
 ??????????? Sprite spr = Resources.Load<Sprite>(sprspr);//生成精靈
 ??????????? if (spr != null)
 ??????????? {
 ??????????????? cloth_respawn.gameObject.GetComponent<SpriteRenderer>().sprite = spr;
 ??????????? }
 ???????? }
 
然后發(fā)現(xiàn)的確是這樣,當(dāng)這個(gè)精靈為空的時(shí)候,UNITY并不知道,然后就出現(xiàn)了錯(cuò)誤
 
發(fā)現(xiàn)替換精靈的圖片的名稱不對(duì),這個(gè)時(shí)候,就要重新導(dǎo)入圖片,使得圖片和精靈的名稱一致
 
路徑太長(zhǎng)ImageSprite/BodyCloth/Clothtest001/Clothtest001B/hand/Cloth_Left_Hand_1,缺少斜杠
 
 
邏輯的方向是對(duì)的,就要從一點(diǎn)一滴開(kāi)始實(shí)踐
 
 
 
 
總結(jié)
以上是生活随笔為你收集整理的【Unity精灵】2D精灵图片替换常见的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 关键字__rptr、__eptr、 __
 - 下一篇: 指南针 android gps,北斗GP