【发布时间】:2019-07-02 21:11:30
【问题描述】:
如果我们将一些浮点值传递给 Vector3Int 的参数,它是如何处理的?
m_target = new Vector3Int(target.x-speedx/4,target.y,target.z-speedz/4);
所以如果 speedx/4 将是浮点数,那么它将如何转换为 int
Vector3Int(124.66,0,0) 将被视为 (124,0,0) 或 (125,0,0)
【问题讨论】:
-
target.x和speedx是什么类型? -
@LasseVågsætherKarlsen 他们都是 int
-
那么你根本没有浮点值,
int/int给出另一个int,例如如果speedx = 15,speed / 4将给出3,而不是3.33333.....。 -
@LasseVågsætherKarlsen 所以基本上自动类型转换是在 speedx/4 上完成的,而不是 (target.x - speedx/4)?
-
不,没有类型转换,int 之间的
/产生另一个 int,不涉及转换。这只是整数除法。基本上你有int + int / int,所有这些只会产生另一个int,float从来没有出现在图片中。