[英]My player dashing is not working in Unity
(这是我的第一个问题)
我是 Unity 新手,我正在制作一款 2d 平台游戏。
我已经完成了所有的动作,现在我正在为我的玩家制作动画(空闲、跑步、跳跃等)。 所以现在当我按下破折号按钮时,我的角色会破折号,但我的剑(剑附在玩家身上)会飞下来。 当冲刺停止时,我的剑传送回玩家。
我做到了,所以当我冲刺我的“动画师”停止并且当玩家停止冲刺时动画师开始再次工作并且我的动画继续播放(空闲,移动)。 因为如果我不这样做,我的播放器会在我冲刺时停在半空中。
所以基本上,当我冲刺时,我的 Animator 停止,我的剑飞起来,然后 Animator 启动,我的剑又回来了。
这是破折号的代码:
public IEnumerator Dash()
{
animator.enabled = false;
canDash = false;
isDashing = true;
float originalGravity = rb.gravityScale;
rb.gravityScale = 0 f;
rb.velocity = new Vector2(transform.localScale.x * dashingPower, 0 f);
tr.emitting = true;
yield
return new WaitForSeconds(dashingTime);
tr.emitting = false;
rb.gravityScale = originalGravity;
isDashing = false;
yield
return new WaitForSeconds(dashingCooldown);
canDash = true;
animator.enabled = true;
}
我希望这是有道理的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.