当你跳跃时消失并重新出现的平台不起作用。

时间:2015-08-06 11:25:57

标签: unity3d unityscript

我正在制作一个2D平台游戏,当你跳跃时我想要消失,然后当你再次跳跃时重新出现。然而,块只是保持显示,我不知道为什么。这是我的剧本;

var animator : Animator;
animator.SetBool("changeState", false);
var AudioOut : AudioSource;

var showNext = true;


function Update (){
    if (Input.GetButtonDown("Jump") & showNext == true){
        Close();
    }

    if (Input.GetButtonDown("Jump") & showNext == false){
        Open();
    }
}

function Close(){
    GetComponent.<AudioSource>().Play();
    animator.SetBool("changeState", true);
    showNext = false;
}

function Open(){
        AudioOut.GetComponent.<AudioSource>().Play();
        animator.SetBool("changeState", false);
        showNext = true;
    }

由于

2 个答案:

答案 0 :(得分:0)

有几件事:

这一行:

animator.SetBool("changeState", false);

写在脚本的顶部,并不在任何函数内。可能将其包含在Start函数中。验证您是否将正确的值传递给changeState状态。对于true值,它应该表现为Close。从Animation标签和Animator标签进行验证。

答案 1 :(得分:-1)

这可能会有所帮助

还有另一种方法可以实现这个目标

显示平台,如果触发collosionEnter并且在碰撞退出时消失平台