Unity3d 应用程序不会加载到下一个场景

Unity3d 应用程序不会加载到下一个场景,unity3d,monodevelop,unityscript,Unity3d,Monodevelop,Unityscript,对于我的应用程序的第一级,一切似乎都很好。在能够解决我的游戏逻辑后,它将加载游戏的下一个级别 但是,由于某些原因,在连续的级别上,它不会加载。我的状况可能有问题。但我确信这不是向量的问题 问题是我无法识别它 我的代码如下: #pragma strict // This Script is called when the User Clicks on the Frog. var FrogName : GameObject; var frogone : GameObject; var fro

对于我的应用程序的第一级,一切似乎都很好。在能够解决我的游戏逻辑后,它将加载游戏的下一个级别

但是,由于某些原因,在连续的级别上,它不会加载。我的状况可能有问题。但我确信这不是向量的问题

问题是我无法识别它

我的代码如下:

#pragma strict

// This Script is called when the User Clicks on the Frog.



var FrogName : GameObject;
var frogone : GameObject;
var frogtwo : GameObject;
var frogthree : GameObject;
var frogfour : GameObject;

function Start(){

    FrogName = GameObject.Find(this.name); 

}

function OnMouseDown(){
    var Target = GameObject.Find("Script").GetComponent(FourFrogChangePosition);
    var Target2 = GameObject.Find("Script").GetComponent(FourFrogProperty);
    frogone = GameObject.Find("frog1");
    frogtwo = GameObject.Find("frog2");
    frogthree = GameObject.Find("frog3");
    frogfour = GameObject.Find("frog4");

    if (Target.Firstclick ==null){
        Target.Firstclick =FrogName;
        return;
    }

    if (Target.Firstclick !=null && Target.Secondclick ==null){
        Target.Secondclick =FrogName;
        Target2.Start();
        Target.changePosition();
        if(frogone.transform.position == Vector2(-1.343934f, 1.600096f) && frogtwo.transform.position == Vector2(2.960639f, -0.5253699f) && frogthree.transform.position == Vector2(1.920852f, 1.716066f) && frogfour.transform.position == Vector2(-1.871236f, -0.6542034f) ){
                yield WaitForSeconds (2.5);
                Application.LoadLevel("Pond Level Medium");
        }

        if(frogone.transform.position == Vector2(-1.871236f, -0.6542034f) &&     frogtwo.transform.position == Vector2(2.960639f, -0.5253699f) && frogthree.transform.position == Vector2(1.920852f, 1.716066f) && frogfour.transform.position == Vector2(-1.871236f, -0.6542034f) ){
            yield WaitForSeconds (2.5);
            Application.LoadLevel("Pond Level Medium");
        }
        return;
    }
}

这是不加载到下一级的脚本。你能帮我确定这个脚本中缺少什么逻辑吗

游戏是否应该加载更多的关卡而不仅仅是池塘关卡?因为我看不到任何逻辑加载另一个级别?另外,请尽量避免像frogone.transform.position==Vector2-1.871236f,-0.6542034f这样的条件。更好的方法是将这些位置存储在变量中,基于浮点不准确度,我将测试到目标的距离。像Vector2 lDiff=frogone.transform.position-Vector2-1.871236f,-0.6542034f;随后,您可以使用lDiff.magnity表示到目标的距离。首先,unity 3D有自己的游戏引擎。现在,在将这些向量存储在一个变量中的情况下,我已经尝试过了,结果产生了一个非常复杂、非常长的代码,它影响了整个系统。在使用Mono develop进行编码时,您可以在一个平台上创建javascript,该平台由unity gameengine支持。要加载的Application.LoadLevelLevel是用于加载下一个场景的代码。因为所有的东西都是在3D中创建的,所以不能只存储一个变量然后进行比较。如果你想要一个更简单的代码,你必须声明它。你声明你想要加载连续的级别。然而,只有用于加载一级应用程序的代码;代码中未引用其他级别。我希望会有另一个应用程序。负荷水平池2级介质;或者别的什么。因此我的问题是,因为所有的东西都是在3D中创建的,所以你不能只存储一个变量然后比较它,现在,在存储这些向量的情况下。。。影响整个系统。要么我不明白你在说什么,要么你做错了。无论哪种方式,硬编码位置都不是一件好事:1。如果以任何方式移动或缩放场景,代码将不再工作。2.如果不这样做,代码的可读性就会提高。FrogoneLocation==EndOfLevelPosition vs frogone.transform.position==Vector2-1.871236f,-0.6542034f。