Koh*_*aku 1 c# unity-game-engine
如何将游戏对象/图像存储在一个数组中,这样我就可以使用"for循环"来改变图像的颜色,而不是单独改变它的颜色..我在unity3d中使用c#..
我的代码:
public Image clay, sand, loam, silt, siltyClay, siltyLoam, loamySand, sandyLoam, siltyClayLoam;
public void imageColor(){
sand.color = Color.green;
clay.color = Color.white;
loam.color = Color.white;
silt.color = Color.white;
siltyClay.color = Color.white;
siltyLoam.color = Color.white;
loamySand.color = Color.white;
sandyLoam.color = Color.white;
siltyClayLoam.color = Color.white;
mountTex = (Texture)Resources.Load("sand", typeof(Texture));
}
Run Code Online (Sandbox Code Playgroud)
有趣的是,最好的方法就是你已经拥有它.
你只有一件事没有得到:
当你想"突出一件事"时,编程模式将它们全部关闭,然后只打开一个.
这是一个基本的编程技巧:
public Image clay, sand, loam, silt, siltyClay,
siltyLoam, loamySand, sandyLoam, siltyClayLoam;
private void AllOff()
{
sand.color = Color.white;
clay.color = Color.white;
loam.color = Color.white;
silt.color = Color.white;
siltyClay.color = Color.white;
siltyLoam.color = Color.white;
loamySand.color = Color.white;
sandyLoam.color = Color.white;
siltyClayLoam.color = Color.white;
}
public Highlight( Image x )
{
AllOff();
x.color = Color.green;
}
Run Code Online (Sandbox Code Playgroud)
使用..
Highlight( silt );
Run Code Online (Sandbox Code Playgroud)
有问题的九个项目实际上不是一个列表 - 所以不要那样使用它们.
请注意,在其他情况下,您应该这样做:
public Image[] images;
Run Code Online (Sandbox Code Playgroud)
试试看,在Inspector中你可以直接拖动它们.
要一次性处理它们,它就是这样
foreach (Image i in images)
Debug.Log(i);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
587 次 |
| 最近记录: |