Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2208.00元
发现UNITY一个问题,不知道算不算BUG
gwjgan发起了话题2018-03-11
5
回复
439
浏览

假如:A下面有一个B的子物体,B物体身上有脚本向量Vector3 speed=固定值;B物体的UPDATE在一直执行       

transform.Translate(speed * Time.fixedDeltaTime);

这时候你移动A,会发现speed值会随着A的移动在改变,程序中没有任何地方在修改speed。

所有回复
  • siki 2018-03-12

    改变了多少呢,这个有可能是bug,建议自己重新定义一个speed,确保speed没有被别的地方使用修改,测试下

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • gwjgan 2018-03-12

    每一帧都在变,因为子物体在漂移。用单步好不容易发现的问题。现在我只能避开这个问题,因为用临时定值都定不住。

    临时办法:当A移动的时候分离,移动完在组合。

    还有-4条回复,点击查看
    你还没有登录,请先登录注册
  • NZW_ 2018-03-22
    public class Move_test : MonoBehaviour {
        public Vector3 Speed;
        public GameObject Cube;
        public GameObject Sphere;
    
    	// Use this for initialization
    	void Start () {
            Speed = Sphere.transform.forward;
    	}
    	
    	// Update is called once per frame
    	void Update () {
            Sphere.transform.Translate(Speed*0.1f * Time.deltaTime);
    	}
    }

    我测试的应该没问题啊,你是怎么做的?B身上的Speed你移动A的时候怎么检测的改变?上面是我测试的代码,我在Cube(A)和Sphere(B)上都挂了脚本,手动拖到脚本里的物体。然后运行时在Scene面板拖拽Cube,并没有发现Speed发生变化。/*还是说我们版本不一样的问题?*/

     

    还有-4条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!