在球员方向Unity射击子弹

时间:2015-12-08 21:31:23

标签: c# unity3d unity5

我试图向球员方向射击一颗子弹,但是子弹被安置但是没有离开初始位置,不知道为什么,继承人代码:

P3

子弹预制件有一个rigidbody2d和一个圆形对撞机,还有一个精灵渲染器和一个动画师来处理它的动画。

任何帮助?

1 个答案:

答案 0 :(得分:0)

 thisBullet.transform.position = Vector2.Lerp(thisBullet.transform.position, playerPosition, bulletSpeed * Time.deltaTime);


When t = 0 returns a. When t = 1 returns b. When t = 0.5 returns the point midway between a and b.
 t= bulletSpeed * Time.deltaTime;
  • 在你的游戏中可能有一个非常接近0的值。这意味着你的 子弹的位置几乎保持不变。你还需要一个 在Atack函数中循环使子弹具有相同的位置 子弹。

    while(thisBullet.transform.position!= playerPosition) {
    thisBullet.transform.position = Vector2.Lerp(thisBullet.transform.position, playerPosition, bulletSpeed * Time.deltaTime);

    yield返回新的WaitForSeconds(0.1f);

    }

你可以在这里设置条件,但是你想要你的游戏。在此代码中,它每0.1f移动到玩家的位置。