Unity3d创建物体,寻找物体,加载物体,添加脚本

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 tank;

</span><span style="color: #0000ff"&gt;void</span><span style="color: #000000"&gt; Start () {
    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;创建物体:在当前场景中创建<a href="https://www.jb51.cc/tag/yige/" target="_blank" class="keywords">一个</a>GameObject</span>
    emptyGo = <span style="color: #0000ff"&gt;new</span> GameObject(<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;New</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;);

    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;寻找物体:<a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a>当前GameObject的Component</span>
    goLight = GetComponent<Light><span style="color: #000000"&gt;();
    goLight.color </span>=<span style="color: #000000"&gt; Color.red;

    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;寻找物体:<a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a>当前场景中其他GameObject</span>
    goCamera = GameObject.Find(<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Main Camera</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;);
    goCamera.transform.Translate(</span><span style="color: #800080"&gt;0</span>,<span style="color: #800080"&gt;1</span>,-<span style="color: #800080"&gt;9</span><span style="color: #000000"&gt;);

    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;创建物体:通过public<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>,在Unity中拖动控件的方式</span>
    pCamera.transform.Translate(<span style="color: #800080"&gt;0</span>,<span style="color: #800080"&gt;12</span><span style="color: #000000"&gt;);

    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;寻找物体:通过工具<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>找到物体</span>
    FindChild(goRoot,<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Light</span><span style="color: #800000"&gt;"</span>,<span style="color: #0000ff"&gt;ref</span><span style="color: #000000"&gt; transLight);
    transLight.GetComponent</span><Light>().color =<span style="color: #000000"&gt; Color.green;

    Debug.Log(</span><span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Test</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;);

    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;<a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a>脚本:用<a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>方式创建GameObject并<a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a>脚本</span>
    tank = <span style="color: #0000ff"&gt;new</span> GameObject(<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Tank</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;);
    tank.AddComponent</span><Tank><span style="color: #000000"&gt;();
}

</span><span style="color: #808080"&gt;///</span> <span style="color: #808080"&gt;<summary></span>
<span style="color: #808080"&gt;///</span><span style="color: #008000"&gt; 寻找物体
</span><span style="color: #808080"&gt;///</span> <span style="color: #808080"&gt;</summary></span>
<span style="color: #808080"&gt;///</span> <span style="color: #808080"&gt;<p<a href="https://www.jb51.cc/tag/ara/" target="_blank" class="keywords">ara</a>m name="trans"&gt;</span><span style="color: #008000"&gt;作为父物体的tranform</span><span style="color: #808080"&gt;</param></span>
<span style="color: #808080"&gt;///</span> <span style="color: #808080"&gt;<p<a href="https://www.jb51.cc/tag/ara/" target="_blank" class="keywords">ara</a>m name="findName"&gt;</span><span style="color: #008000"&gt;<a href="https://www.jb51.cc/tag/mingcheng/" target="_blank" class="keywords">名称</a></span><span style="color: #808080"&gt;</param></span>
<span style="color: #808080"&gt;///</span> <span style="color: #808080"&gt;<p<a href="https://www.jb51.cc/tag/ara/" target="_blank" class="keywords">ara</a>m name="_trans"&gt;</span><span style="color: #008000"&gt;找到的物体</span><span style="color: #808080"&gt;</param></span>
<span style="color: #0000ff"&gt;void</span> FindChild(Transform trans,<span style="color: #0000ff"&gt;string</span> findName,<span style="color: #0000ff"&gt;ref</span><span style="color: #000000"&gt; Transform _trans)
{
    </span><span style="color: #0000ff"&gt;if</span><span style="color: #000000"&gt; (trans.name.Equals(findName))
    {
        _trans </span>=<span style="color: #000000"&gt; trans.transform;
        </span><span style="color: #0000ff"&gt;return</span><span style="color: #000000"&gt;;
    }
    </span><span style="color: #0000ff"&gt;if</span> (trans.childCount != <span style="color: #800080"&gt;0</span><span style="color: #000000"&gt;)
    {
        </span><span style="color: #0000ff"&gt;for</span>(<span style="color: #0000ff"&gt;int</span> i = <span style="color: #800080"&gt;0</span>,length = trans.childCount; i < length; i++<span style="color: #000000"&gt;)
        {
            FindChild(trans.GetChild(i),findName,</span><span style="color: #0000ff"&gt;ref</span><span style="color: #000000"&gt; _trans);
        }
    }
}

}

Tank:

<span style="color: #0000ff">public <span style="color: #0000ff">class<span style="color: #000000"> Tank : MonoBehavIoUr {

</span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;加载物体:拖动方式得到预置体</span>
<span style="color: #0000ff"&gt;public</span><span style="color: #000000"&gt; GameObject goBullet;
</span><span style="color: #0000ff"&gt;private</span><span style="color: #000000"&gt; GameObject bullet;

</span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;加载物体:用资源加载方式得到预置体,这种方式下资源要放在Assets/Resources<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>夹下</span>
<span style="color: #0000ff"&gt;private</span><span style="color: #000000"&gt; GameObject mBullet;
</span><span style="color: #0000ff"&gt;private</span><span style="color: #000000"&gt; GameObject myBullet;

</span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; Use this for initialization</span>
<span style="color: #0000ff"&gt;void</span><span style="color: #000000"&gt; Start () {
    mBullet </span>= Resources.Load(<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Bullet</span><span style="color: #800000"&gt;"</span>) <span style="color: #0000ff"&gt;as</span><span style="color: #000000"&gt; GameObject;
}

</span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; Update is called once per frame</span>
<span style="color: #0000ff"&gt;void</span><span style="color: #000000"&gt; Update () {
    </span><span style="color: #0000ff"&gt;if</span> (Input.GetButtonDown(<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Fire1</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;))
    {
        </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;让预置体<a href="https://www.jb51.cc/tag/shengcheng/" target="_blank" class="keywords">生成</a>在场景中</span>
        bullet =<span style="color: #000000"&gt; Instantiate(goBullet);
        bullet.transform.parent </span>= <span style="color: #0000ff"&gt;this</span><span style="color: #000000"&gt;.transform;
    } </span><span style="color: #0000ff"&gt;else</span> <span style="color: #0000ff"&gt;if</span>(Input.GetButtonDown(<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Fire2</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;)) {
        myBullet </span>=<span style="color: #000000"&gt; Instantiate(mBullet);
        myBullet.transform.parent </span>= <span style="color: #0000ff"&gt;this</span><span style="color: #000000"&gt;.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"&gt;//</span><span style="color: #008000"&gt; Use this for initialization</span>
<span style="color: #0000ff"&gt;void</span><span style="color: #000000"&gt; Start () {
    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;向前向量</span>
    fwd =<span style="color: #000000"&gt; transform.TransformDirection(Vector3.forward);
}

</span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; Update is called once per frame</span>
<span style="color: #0000ff"&gt;void</span><span style="color: #000000"&gt; Update () {
    </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;给<a href="https://www.jb51.cc/tag/yige/" target="_blank" class="keywords">一个</a>向前的力,打出去</span>
    GetComponent<Rigidbody>().AddForce(fwd * <span style="color: #800080"&gt;1000</span><span style="color: #000000"&gt;);
}

}

参数如图:

相关文章

前言 本文记录unity3D开发环境的搭建 unity安装 unity有中文...
前言 有时候我们希望公告牌跟随镜头旋转永远平行面向屏幕,同...
前言 经过一段时间的学习与实际开发,unity3D也勉强算是强行...
前言 在unity中我们常用的获取鼠标点击的方法有: 1、在3D场...
前言 在之前的例子中,我们都没有用到unity的精髓,例如地形...
这篇文章将为大家详细讲解有关Unity3D中如何通过Animator动画...