我正在尝试在Unity中创建一个2D“Ghost对象”,它移动到玩家的鼠标位置(同时捕捉到网格)并在鼠标滚轮旋转时旋转。当玩家点击时,它将在其位置创建“真实对象”。 问题在于,当我开始旋转物体时,它变得莫名其妙地不稳定,最终在到达无限远之前飞离屏幕。不旋转时,它表现得很完美。
由于移动代码无论方向如何都应该有效,我不知道为什么它会飞离屏幕。
相关代码(C#):
Vector3 rawPos = cam.ScreenToWorldPoint (Input.mousePosition);
transform.Rotate(0,0,50*Input.GetAxis ("Mouse ScrollWheel"));
Vector3 targetPos = new Vector3 (Mathf.RoundToInt(rawPos.x),Mathf.RoundToInt(rawPos.y),10);
transform.Translate (targetPos-transform.position);
这可能是显而易见的,但我对此仍然有点新鲜。 提前感谢您的帮助。
编辑:我想我应该注意到这是在FixedUpdate中发生的。
答案 0 :(得分:0)
通过更改
解决了问题transform.Translate
到
transform.position = targetPos
同样适用。