如何解决我怎样才能有一个定向弹丸出来?
这个问题是因为当我想实例化弹丸时,它的输出方式与方向不同
解决方法
假设您的 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 举报,一经查实,本站将立刻删除。