【发布时间】:2021-03-01 20:33:15
【问题描述】:
我有这个游戏https://play.google.com/store/apps/details?id=com.nbstudio.towercolor&hl=ru 中的逻辑。他们有逻辑,当球撞击并接触圆柱体时,如果附近的物体与球的颜色相同,它就被摧毁了。我尝试制作一个在播放模式运行时生成的对象的二维数组,但我不知道如何检查对象的颜色。
public class DestroingObjects : MonoBehaviour
{
[SerializeField]
private List<GameObject> objects;
public GameObject[,] game;
public GameObject[] gameObjects;
[SerializeField]
private float timeLeft;
[SerializeField]
GameObject prefab;
[SerializeField]
Material colorOfPlayer;
[SerializeField]
MeshRenderer[,] mesh;
[SerializeField]
private TowerCreator tower;
// Start is called before the first frame update
void Start()
{
tower = FindObjectOfType<TowerCreator>();
}
// Update is called once per frame
void Update()
{
timeLeft -= Time.deltaTime;
if (timeLeft < 0)
{
timeLeft = 1;
gameObjects = GameObject.FindGameObjectsWithTag("Object");
game = new GameObject[tower.pieceCount, tower.levelsOfTowerCount];
for (int i = 0; i < tower.pieceCount; i++)
{
for (int j = 0; j < tower.levelsOfTowerCount; j++)
{
game[i, j] = gameObjects[i];
Debug.Log(game.Length);
findColors();
}
}
}
}
public void findColors()
{
for (int i = 0; i < tower.pieceCount; i++)
{
for (int j = 0; j < tower.levelsOfTowerCount; j++)
{
var mesh = game[i, j].GetComponent<MeshRenderer>();
Debug.Log(mesh.material.color);
}
}
}
【问题讨论】: