我正在制作一个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;
}
由于
答案 0 :(得分:0)
有几件事:
这一行:
animator.SetBool("changeState", false);
写在脚本的顶部,并不在任何函数内。可能将其包含在Start
函数中。验证您是否将正确的值传递给changeState
状态。对于true
值,它应该表现为Close
。从Animation
标签和Animator
标签进行验证。
答案 1 :(得分:-1)
这可能会有所帮助
还有另一种方法可以实现这个目标
显示平台,如果触发collosionEnter并且在碰撞退出时消失平台