翻转播放器的子对象无法正常工作

问题描述 投票:0回答:1

我在 2d 游戏中为玩家附加了一个粒子系统,当他面朝右左时,玩家的比例会反转,我用 bool isFacingRight 来跟踪这一点。当玩家面朝右左时,我也希望粒子系统翻转,我使用旋转功能来执行此操作,因为粒子系统具有特定的形状,因此反转它不起作用。当我面向右时,这是有效的,但是当我面向左时,粒子向下射出,但是当我在动画完成之前转回右侧时,粒子仍然向左射出,但现在是直的。我只想让粒子射向两个天使,而不是三个,救命!!

if(!isFacingRight )
 {
     particles.transform.rotation = Quaternion.Euler(0, 0, 165);
 }
 else 
 {
     particles.transform.rotation = Quaternion.Euler(0, 0, 0);
 }
 particles.Play();

if((!isFacingRight && horizontal >0f) || (isFacingRight && horizontal < 0f)) 
{
    isFacingRight = !isFacingRight;
    Vector3 localScale = transform.localScale;
    localScale.x *= -1f;
    transform.localScale = localScale;
}
unity-game-engine 2d
1个回答
0
投票

如果你的角色正在翻转,那么它的孩子也会翻转。因此,使用

localScale.x *= -1f;
将其翻转回来非常棒,但您可能会使用
transform.localScale = localScale;
反转它,具体取决于
localScale.x
变量。另外,165 度确实稍微向下,您可能指的是 180 度。这是 0、165 和 180 度(按此顺序)

© www.soinside.com 2019 - 2024. All rights reserved.