我正在做团结项目。当我点击它时我想要一个物体上升。但是当它翻转时(当rotation.z高于90且低于275时),它会向下移动。因此,我必须增加负面推力,以便对象上升。但是游戏似乎没有检测到它或者这个功能不支持它。任何建议我将如何解决这个问题?
已修复!! 我只需将transform.up
替换为Vector3.up
。
void OnMouseDown(){
if(this.transform.rotation.z > 90 && this.transform.rotation.z < 275 ) {
rb.AddForce (transform.up * -thrust);
GetComponent<Rigidbody2D> ().velocity = Random.insideUnitSphere * 2;
}
else
{
rb.AddForce (transform.up * thrust);
GetComponent<Rigidbody2D> ().velocity = Random.insideUnitSphere *2;
}
}
答案 0 :(得分:0)
你的问题是this.transform.rotation.z
返回一个四元数值,而不是由欧拉角提出的旋转角度。看看四元数看起来是什么here。另请查看有关轮换的this documentation。对于实际角度,请尝试transform.rotation.eulerAngles