:
.. Unity3D kodumu C# kullanarak. Ör. Görüntüler ve renkleri birlikte gruplandırın.
public Image clay, sand, loam, silt, siltyClay, siltyLoam, loamySand, sandyLoam, siltyClayLoam;
[System.Serializable]
public class ImageColorPairs
{
public Image[] images {get;set; } /* associate Images */
public Color targetColor { get; set; } /* ..with a target color */
}
private ImageColorPairs[] pairs; //Declare here but initialize later. Can't initialize these objects (error: referencing non-static field..)
public void InitializePairsOnce()
{
/* Make up array of Pairs here */
pairs = new ImageColorPairs[] {
new ImageColorPairs() { images = new Image[] { sand }, targetColor = Color.green } ,
new ImageColorPairs() { images = new Image[] { clay, loam, silt, siltyClay, siltyLoam, loamySand, sandyLoam, siltyClayLoam }, targetColor = Color.white }
};
}
public void ImageColor()
{
/* Now setting the colors is easy! :) */
foreach (var pair in pairs)
{
foreach (var image in pair.images)
{
image.color = pair.targetColor;
}
}
}
Ayrıca daha sonra ayrı ayrı bir renk her görüntüyü ilişkilendirmek verecek bir kendi ImageTuple
gibi daha temel veri strucutres kullanmak yapabilirsiniz. Ama orada sadece iki temel grubunuz var gibi görünüyor, bu yüzden bir dizi görüntü için bir rengi ilişkilendirmek daha az işe yarıyor.
böyle bir sınıf ile Tuhaftır
[System.Serializable]
public class ImageTuple
{
public Image image;
public Color targetColor;
public ImageTuple(Image img, Color col)
{
image = img;
targetColor = col;
}
}
private ImageTuple[] imageTuples;
public void InitializeTuplesOnce()
{
imageTuples = new ImageTuple[]
{
new ImageTuple(clay, Color.green),
new ImageTuple(sand, Color.white),
//.. the rest
};
}
public void ImageColor()
{
foreach (var pair in imageTuples)
{
pair.image.color = pair.targetColor;
}
}
Renk ve Görüntü arasındaki ilişki nedir? sadece ilk yeşil ve diğeri beyaz, değil mi? – Valentin
sadece görüntülerin rengi seçildiğinde yeşil renge dönecektir .. – Kohaku
not, bir kural olarak ** Unity'de asla diziler kullanmayın **. 'List <>' seçeneğini kullanın. – Fattie