测试发现如果在更改发射物体的坐标后,发射物体就会更新位置,而我们经常需要把物体坐标系在玩家挂载时设定完毕再发射出去
因此我找到了个有效的解决办法,步骤如下
1.保存当前父级
2.修改localPosition
3.恢复保存的父级
举例代码如下:
Transform getParent = _bullet.transform.parent;//保存当前父级
_bullet.transform.SetParent(transform);//修改父级为玩家
_bullet.transform.localPosition = Vector2.down * powerfulBack;//计算相对位置
_bullet.transform.SetParent(getParent);//恢复父级