微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我怎样才能有一个定向弹丸出来?

如何解决我怎样才能有一个定向弹丸出来?

这个问题是因为当我想实例化弹丸时,它的输出方式与方向不同

解决方法

假设您的 Angle 与您希望射弹的角度相同:
transform.rotation = Quaternion.AngleAxis(Angle,Vector3.forward);

如果它与正确方向成 90 度角,请将精灵旋转为朝上,或者尝试添加/减去 90 到/形成 Angle,例如:
transform.rotation = Quaternion.AngleAxis(Angle - 90,Vector3.forward);

,

将您的 CastSpell 函数重写为以下内容并告诉我它是否有效:

  void CastSpell(int slot) {
      var spellObject = Instantiate(spellPrefab,transform.position,Quaternion.identity);
      var mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
      var dir = mousePos - transform.position;
      var angle = Mathf.Atan2(dir.y,dir.x) * Mathf.Rad2Deg + 90;
      spellObject.transform.rotation = Quaternion.AngleAxis(angle - 90,Vector3.forward);
      spellObject.GetComponent<SpellController>().srcPlayerID = playerID;
      StartCoroutine(SpellCooldown(slot,gameConstants.spellCooldown));
  }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。