我正在遵循 2048 教程,他正在為他的瓷磚使用文本/顏色。我正在使用圖像。在對圖塊應用不同的樣式時,他的代碼如下:TileText.text = TileStyleHolder.Instance.TileStyles [index].Number;TileText.color = TileStyleHolder.Instance.TileStyles[index].TextColor;TileImage.color = TileStyleHolder.Instance.TileStyles [index].Tilecolor;我的風格保持器代碼如下: [System.Serializable] public class TileStyle {public Sprite tile_number;}public class TileStyleHolder : MonoBehaviour{//SINGLETONpublic static TileStyleHolder Instance;public TileStyle[] TileStyles;void Awake() { Instance = this;}}我的 Tile 代碼如下:public class Tile : MonoBehaviour{public bool mergedThisTurn = false;public int indRow;public int indCol;public int Number { get { return number; } set { number = value; if (number == 0) SetEmpty(); else { ApplyStyle(number); SetVisible(); } }}//private SpriteRenderer spriteRenderer;private Sprite tile_number;private int number;void Awake() { Sprite tile_number = GetComponentInChildren<Image>.sprite (); }void ApplyStyleFromHolder(int index) { tile_number.image = TileStyleHolder.Instance.TileStyles[index].tile_number;}它拋出錯誤: 'Sprite' does not contain a definition for 'image' and no accessible extension method 但是,如果我使用這行代碼: tile_number = TileStyleHolder.Instance.TileStyles[index].tile_number;然后它不會拋出錯誤,但也不會在合并后將磁貼樣式從 2 更改為 4。它保持為 2,并且不會拋出錯誤。請幫忙,我現(xiàn)在知道如何將圖像轉(zhuǎn)換為數(shù)組中的下一個圖像。
1 回答

子衿沉夜
TA貢獻1828條經(jīng)驗 獲得超3個贊
tile_number
是指向 .Sprite
Sprite
不包含名為 的成員,所以這就是出現(xiàn)該錯誤的原因。sprite
現(xiàn)在當你這樣做時,你只是改變指針(即 )指向其他東西,它之前指向的東西不會改變。tile_number = something;
tile_number
如果你看一下?Sprite API,你會看到它有一個名為 .這就是你想改變的人。texture
所以,需要明確的是,當你這樣做時,是一個指向 Sprite 對象的指針,這個對象有一個叫做的成員,你把它改成了 。這與告訴你的指針指向其他精靈有很大不同。tile_number.texture = foo.bar.some_texture
tile_number
texture
foo.bar.some_texture
tile_number
我假設(shè)的類型是 ,您的代碼似乎表明了這一點。tile_number
Sprite
- 1 回答
- 0 關(guān)注
- 239 瀏覽
添加回答
舉報
0/150
提交
取消