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

(66评价)
价格: 1299.00元
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

发现UNITY一个问题,不知道算不算BUG
gwjgan发起了话题2018-03-11
5
回复
546
浏览

假如: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条回复,点击查看
    你还没有登录,请先登录或注册!
发表回复
你还没有登录,请先 登录或 注册!