我目前正在Unity3D中开发一款游戏,您必须点击颜色对才能匹配它们,然后它们就会消失。我正在使用2D精灵来做到这一点,但是当通过鼠标点击两者时,我正在努力消除对的逻辑。
单击黄色,然后再次单击黄色以使两者都消失。 (直到电路板被清除或颜色。)
如果点击黄色,那么黄色以外的任何东西都不会做任何事情。
提前致谢。
这是sprite的布局:
最好是为每种颜色添加标签吗?
这就是我想要发生的事情:当游戏开始时,它从6个数组中挑选3种颜色,然后随机将它们(每种颜色中的2种)放在屏幕上。然后,您必须单击颜色,例如绿色(它将突出显示),然后单击另一个绿色,它们都将消失。如果你是,比如先点击绿色然后点击黄色,游戏就会结束。
这是我目前实施的代码:
// [...]
if (Input.GetMouseButtonDown(0))
{
CastRay();
}
}
function CastRay() {
var ray: Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
var hit: RaycastHit2D = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
if(hit.collider != null)
{
// Number is the amount of objects on the screen at one time.(6)
number --;
//Test to see if a mouse click interacts with the 2D Sprite.(Then destroys it)
Debug.Log ("Target Position: " + hit.collider.gameObject.transform.position + gameObject.tag);
Destroy(hit.collider.gameObject);
}
// This when the number hits 0 the level restarts (To check random elements)
if (number == 0)
{
Application.LoadLevel (0);
}
}