【发布时间】:2014-12-18 23:42:46
【问题描述】:
我是一名 unity3d 学习者。我有一个物体旋转的问题。我想将对象沿 z 轴旋转约 40 度。如果对象旋转达到 40 度,我希望发生一些事情。这是我的代码。
foreach(Touch touch in Input.touches) {
if(touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled) {
var target = Quaternion.Euler (0, 0,-40);
transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth);
if (transform.rotation.eulerAngles.z == -40) {
toggle = true;
speech = "blah blah blah";
snake = man;
}
}
}
if(transform.rotation.eulerAngles.z == -40) 代码行不起作用。所以我不知道旋转度数是否达到了40度。如何查看旋转度数是否达到40度?
【问题讨论】:
-
如果它是浮点数或双精度数,则不应使用 == 来检查是否相等,因为该值可能仅相差一小部分。试试 abs(z-(-40))
-
我使用度数。但是绝对功能是行不通的。谢谢。