GetCreateObject:
<span style="color: #0000ff">public <span style="color: #0000ff">class<span style="color: #000000"> GetCreateObject : MonoBehaviour {
GameObject emptyGo;
Light goLight;
GameObject goCamera;
<span style="color: #0000ff">public<span style="color: #000000"> Camera pCamera;
<span style="color: #0000ff">public<span style="color: #000000"> Transform goRoot;
Transform transLight;
GameObject emptyGo;
Light goLight;
GameObject goCamera;
<span style="color: #0000ff">public<span style="color: #000000"> Camera pCamera;
<span style="color: #0000ff">public<span style="color: #000000"> Transform goRoot;
Transform transLight;
GameObject tank;
</span><span style="color: #0000ff">void</span><span style="color: #000000"> Start () {
</span><span style="color: #008000">//</span><span style="color: #008000">创建物体:在当前场景中创建一个GameObject</span>
emptyGo = <span style="color: #0000ff">new</span> GameObject(<span style="color: #800000">"</span><span style="color: #800000">New</span><span style="color: #800000">"</span><span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000">寻找物体:获取当前GameObject的Component</span>
goLight = GetComponent<Light><span style="color: #000000">();
goLight.color </span>=<span style="color: #000000"> Color.red;
</span><span style="color: #008000">//</span><span style="color: #008000">寻找物体:获取当前场景中其他GameObject</span>
goCamera = GameObject.Find(<span style="color: #800000">"</span><span style="color: #800000">Main Camera</span><span style="color: #800000">"</span><span style="color: #000000">);
goCamera.transform.Translate(</span><span style="color: #800080">0</span>,<span style="color: #800080">1</span>,-<span style="color: #800080">9</span><span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000">创建物体:通过public属性,在Unity中拖动控件的方式</span>
pCamera.transform.Translate(<span style="color: #800080">0</span>,<span style="color: #800080">12</span><span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000">寻找物体:通过工具方法找到物体</span>
FindChild(goRoot,<span style="color: #800000">"</span><span style="color: #800000">Light</span><span style="color: #800000">"</span>,<span style="color: #0000ff">ref</span><span style="color: #000000"> transLight);
transLight.GetComponent</span><Light>().color =<span style="color: #000000"> Color.green;
Debug.Log(</span><span style="color: #800000">"</span><span style="color: #800000">Test</span><span style="color: #800000">"</span><span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000">添加脚本:用代码方式创建GameObject并添加脚本</span>
tank = <span style="color: #0000ff">new</span> GameObject(<span style="color: #800000">"</span><span style="color: #800000">Tank</span><span style="color: #800000">"</span><span style="color: #000000">);
tank.AddComponent</span><Tank><span style="color: #000000">();
}
</span><span style="color: #808080">///</span> <span style="color: #808080"><summary></span>
<span style="color: #808080">///</span><span style="color: #008000"> 寻找物体
</span><span style="color: #808080">///</span> <span style="color: #808080"></summary></span>
<span style="color: #808080">///</span> <span style="color: #808080"><param name="trans"></span><span style="color: #008000">作为父物体的tranform</span><span style="color: #808080"></param></span>
<span style="color: #808080">///</span> <span style="color: #808080"><param name="findName"></span><span style="color: #008000">名称</span><span style="color: #808080"></param></span>
<span style="color: #808080">///</span> <span style="color: #808080"><param name="_trans"></span><span style="color: #008000">找到的物体</span><span style="color: #808080"></param></span>
<span style="color: #0000ff">void</span> FindChild(Transform trans,<span style="color: #0000ff">string</span> findName,<span style="color: #0000ff">ref</span><span style="color: #000000"> Transform _trans)
{
</span><span style="color: #0000ff">if</span><span style="color: #000000"> (trans.name.Equals(findName))
{
_trans </span>=<span style="color: #000000"> trans.transform;
</span><span style="color: #0000ff">return</span><span style="color: #000000">;
}
</span><span style="color: #0000ff">if</span> (trans.childCount != <span style="color: #800080">0</span><span style="color: #000000">)
{
</span><span style="color: #0000ff">for</span>(<span style="color: #0000ff">int</span> i = <span style="color: #800080">0</span>,length = trans.childCount; i < length; i++<span style="color: #000000">)
{
FindChild(trans.GetChild(i),findName,</span><span style="color: #0000ff">ref</span><span style="color: #000000"> _trans);
}
}
}
}
Tank:
<span style="color: #0000ff">public <span style="color: #0000ff">class<span style="color: #000000"> Tank : MonoBehaviour {
</span><span style="color: #008000">//</span><span style="color: #008000">加载物体:拖动方式得到预置体</span>
<span style="color: #0000ff">public</span><span style="color: #000000"> GameObject goBullet;
</span><span style="color: #0000ff">private</span><span style="color: #000000"> GameObject bullet;
</span><span style="color: #008000">//</span><span style="color: #008000">加载物体:用资源加载方式得到预置体,这种方式下资源要放在Assets/Resources文件夹下</span>
<span style="color: #0000ff">private</span><span style="color: #000000"> GameObject mBullet;
</span><span style="color: #0000ff">private</span><span style="color: #000000"> GameObject myBullet;
</span><span style="color: #008000">//</span><span style="color: #008000"> Use this for initialization</span>
<span style="color: #0000ff">void</span><span style="color: #000000"> Start () {
mBullet </span>= Resources.Load(<span style="color: #800000">"</span><span style="color: #800000">Bullet</span><span style="color: #800000">"</span>) <span style="color: #0000ff">as</span><span style="color: #000000"> GameObject;
}
</span><span style="color: #008000">//</span><span style="color: #008000"> Update is called once per frame</span>
<span style="color: #0000ff">void</span><span style="color: #000000"> Update () {
</span><span style="color: #0000ff">if</span> (Input.GetButtonDown(<span style="color: #800000">"</span><span style="color: #800000">Fire1</span><span style="color: #800000">"</span><span style="color: #000000">))
{
</span><span style="color: #008000">//</span><span style="color: #008000">让预置体生成在场景中</span>
bullet =<span style="color: #000000"> Instantiate(goBullet);
bullet.transform.parent </span>= <span style="color: #0000ff">this</span><span style="color: #000000">.transform;
} </span><span style="color: #0000ff">else</span> <span style="color: #0000ff">if</span>(Input.GetButtonDown(<span style="color: #800000">"</span><span style="color: #800000">Fire2</span><span style="color: #800000">"</span><span style="color: #000000">)) {
myBullet </span>=<span style="color: #000000"> Instantiate(mBullet);
myBullet.transform.parent </span>= <span style="color: #0000ff">this</span><span style="color: #000000">.transform;
}
}
}
Bullet:
<span style="color: #0000ff">public <span style="color: #0000ff">class<span style="color: #000000"> Bullet : MonoBehaviour {
Vector3 fwd;
</span><span style="color: #008000">//</span><span style="color: #008000"> Use this for initialization</span>
<span style="color: #0000ff">void</span><span style="color: #000000"> Start () {
</span><span style="color: #008000">//</span><span style="color: #008000">向前向量</span>
fwd =<span style="color: #000000"> transform.TransformDirection(Vector3.forward);
}
</span><span style="color: #008000">//</span><span style="color: #008000"> Update is called once per frame</span>
<span style="color: #0000ff">void</span><span style="color: #000000"> Update () {
</span><span style="color: #008000">//</span><span style="color: #008000">给一个向前的力,打出去</span>
GetComponent<Rigidbody>().AddForce(fwd * <span style="color: #800080">1000</span><span style="color: #000000">);
}
}
参数如图:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。