【发布时间】:2015-09-09 05:51:38
【问题描述】:
我在一个大圆圈中有 19 个圆圈
我需要写这个算法
“如果点击一个中心圆圈(周围的圆圈围绕它旋转)”
不只是旋转(关于周围的圆圈 - 圆圈应该等于/分配给它的下一个圆圈)
查看此图片:http://i.imgur.com/HknGXFh.png
我写了几行复杂的代码,但没有成功
void OnMouseDown()
{
if (gameObject.tag == "dynball")
{
if (isNotBanned(int.Parse(gameObject.name)))
{
change();
}
}
}
void change()
{
if (int.Parse(gameObject.name) == 4 || int.Parse(gameObject.name) == 5)
{
tmp = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 4];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 4] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 3];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 3] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 1];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 1] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 5];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 5] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 4];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 4] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 1];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 1] = tmp;
}
if (int.Parse(gameObject.name) == 8 || int.Parse(gameObject.name) == 9 || int.Parse(gameObject.name) == 10)
{
tmp = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 5];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 5] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 4];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 4] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 1];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 1] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 5];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 5] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 4];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 4] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 1];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 1] = tmp;
}
if (int.Parse(gameObject.name) == 13 || int.Parse(gameObject.name) == 14)
{
tmp = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 5];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 5] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 4];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 3] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 1];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 1] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 4];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 4] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 3];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) + 3] = GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 1];
GameObject.FindGameObjectsWithTag("dynball")[int.Parse(gameObject.name) - 1] = tmp;
}
Debug.Log("I am here");
}
【问题讨论】: