C# 如何使用Vuforia和Unity通过地平面检测限制创建对象的数量

C# 如何使用Vuforia和Unity通过地平面检测限制创建对象的数量,c#,unity3d,vuforia,C#,Unity3d,Vuforia,我正在使用Unity和Vuforia创建AR应用程序。现在,用户每次点击屏幕时都会放置一个对象。我知道,通过取消选中“复制阶段”选项,可以只创建一次对象,并在用户每次点击屏幕时移动它,但我要寻找的是最多只放置2个对象实例。这意味着当用户第三次点击时,在第一次中创建的对象将被删除,并创建一个新对象。因为我是Unity和Vuforia的新手,所以我需要一些帮助。谢谢大家! 有几种方法可以做到这一点。使用列表可以提供一些灵活性和可伸缩性。一些示例代码: List<GameObject> m

我正在使用Unity和Vuforia创建AR应用程序。现在,用户每次点击屏幕时都会放置一个对象。我知道,通过取消选中“复制阶段”选项,可以只创建一次对象,并在用户每次点击屏幕时移动它,但我要寻找的是最多只放置2个对象实例。这意味着当用户第三次点击时,在第一次中创建的对象将被删除,并创建一个新对象。因为我是Unity和Vuforia的新手,所以我需要一些帮助。谢谢大家!

有几种方法可以做到这一点。使用列表可以提供一些灵活性和可伸缩性。一些示例代码:

List<GameObject> myObjects = new List<GameObject>();

if (Input.GetTouch(0).phase == TouchPhase.Began) // when user touches screen
{
    myObjects.Add(SpawnObject()); //your method to spawn and return the spawned Gameobject to add to the list

    if (myObjects.Count > 2)
    {
        Destroy(myObjects[0]); // destroy the gameobject
        myObjects.RemoveAt(0); // remove from list
    }
}
List myObjects=new List();
if(Input.GetTouch(0.phase==TouchPhase.Start)//当用户触摸屏幕时
{
myObjects.Add(SpawnObject());//生成并返回生成的游戏对象以添加到列表中的方法
如果(myObjects.Count>2)
{
销毁(myObjects[0]);//销毁游戏对象
myObjects.RemoveAt(0);//从列表中删除
}
}