我是一个新的团结用户,我正在尝试制作一个小型的平板电脑。 我可以控制我的球员,但我的跳跃有点问题。
我是用动画师的触发器制作的,但它确实有效,但我想在玩家触地时停止动画。
最好的方法是保持最后一次跳跃的帧准备,直到玩家触地,然后停止。
我在gameObjet上有一个collider2D,他使用此代码附加到玩家:
void Start()
{
Audio = GetComponent<AudioSource>();
Anim = transform.parent.GetComponent<Animator>();
}
void OnTriggerEnter2D (Collider2D col)
{
if (col.gameObject.tag == "Sol" || col.gameObject.tag == "Plateforme")
{
Anim.SetTrigger("stopJump");
transform.parent.GetComponent<playerController>().isGrounded = true;
Audio.pitch = 0.7f;
Audio.volume = 0.7f;
Audio.PlayOneShot(soundGround);
}
}
我的动画师在'jump''idle'和run之间有'stopJump'转换。这是正确的做法吗? see my animator here
动画Jump不想在结束帧之前停止。如果我禁用'有退出时间',跳跃停止太早...... 触发器'stopJump'没有优先级......
谢谢!