如何在脚本中调用该对象的component

来源:互联网 发布:消防球 淘宝 编辑:程序博客网 时间:2024/06/06 20:25

     在学习Unity中看到关于如何控制主角移动的视频,里面的脚本是这么写的

void Update(){       float horizontal_move = Input.GetAxis("Horizontal");       this.rigidbody.AddForce(new Vector3(horizontal_move,0,0));}

     但在Unity5.0中,显示错误“UnityEngine.Comonent”不包含“AddForce”的定义,并且找不到可接受类型为“UnityEngine.Component”的第一个参数的扩展方法“AddForce”。应该是在该脚本中找不到该对象的rigidbody组件。(想了半天不知道为什么= =!)

     所以呢,采用GetComponent方法得到该组件

void Update(){           float horizontal_move = Input.GetAxis("Horizontal");           Rigidbody body = GetComponent<Rigidbody>();           body.AddForce(new Vector3(horizontal_move,0,0));           //this.Getcomponent<Rigidbody>().AddForce(new Vector3(horizontal_move,0,0));}
     更好的写法应该是把获取component的引用写在初始化中,这里就不赘述了。
0 0