Unity update里物体每次被激活时,执行一次代码
voidUpdate(){if(transform.parent.gameObject.activeSelf&&once){//人物复位once是一个bool,初值为tr...
void Update () {
if (transform.parent.gameObject.activeSelf && once) {//人物复位 once是一个bool,初值为true
transform.eulerAngles = new Vector3(0, 180, 0);
once = false;
//我这个逻辑是不对的,我想每次物体的activeSelf为true时,都执行一次代码,并且只执行一次,
}
if (Input.GetMouseButton(1)) {//控制人物旋转
transform.Rotate(Vector3.up * speed, -Input.GetAxis("Mouse X"));
}
}
代码如上:
1概要是:我在做一个人物选择界面,4个人物,选A时,BCD隐藏,按右键可以旋转,
2问题是:当我旋转A后,再去选择其他的,,,当返回A时,A还是停留在原来旋转那个位子(比如转到背面,再回来时,它就是背对我),
3要求是:无论A被转到什么角度,返回时(再次被激活时),都会回到一个默认角度(比如(0,0,0)) 展开
if (transform.parent.gameObject.activeSelf && once) {//人物复位 once是一个bool,初值为true
transform.eulerAngles = new Vector3(0, 180, 0);
once = false;
//我这个逻辑是不对的,我想每次物体的activeSelf为true时,都执行一次代码,并且只执行一次,
}
if (Input.GetMouseButton(1)) {//控制人物旋转
transform.Rotate(Vector3.up * speed, -Input.GetAxis("Mouse X"));
}
}
代码如上:
1概要是:我在做一个人物选择界面,4个人物,选A时,BCD隐藏,按右键可以旋转,
2问题是:当我旋转A后,再去选择其他的,,,当返回A时,A还是停留在原来旋转那个位子(比如转到背面,再回来时,它就是背对我),
3要求是:无论A被转到什么角度,返回时(再次被激活时),都会回到一个默认角度(比如(0,0,0)) 展开
展开全部
Unity生命周期函数里拆逗有的
在Awake()之后旅氏卖
OnEnable() 每次脚本被激核春活时调用一次
在Start() 之前
在Awake()之后旅氏卖
OnEnable() 每次脚本被激核春活时调用一次
在Start() 之前
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单,有个方法名叫OnEnable(),建议你看看
追问
OnEnable()的话~~在Update里还是。。。。算了,我用itween做了~~
追答
不不不 是与update同级的一个函数,你去查一查 很方便的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询