Unity3D:创建对象
轉自:
http://blog.csdn.net/zooen2011/article/details/12694739
比如有以下場景,飛機發射子彈,這個子彈就是被創建的對象
C#程序中創建對象
習慣C#的都知道,我們使用一個new就可以創建一個類、結構,稱之為對象。
Hero hero=new Hero();
U3D中創建對象
創建對象是要用靜態函數
?publicstatic Object Instantiate(Object original,Vector3position,Quaternionrotation);
第一個參數:要創建的對象,第二個參數:要創建的對象的坐標,第三個參數:
-----------------------------------------------------------------------------------------------
實際應用中,子彈是被大量創建的,因此需要將子彈對象創建一個Prefabs(預設、我理解為克隆體、影子),而不用重新創建一個新的子彈對象,節省系統資源
下面展示一個玩家控制的飛機發射子彈的控制代碼:
Hero.cs
void Start () {?//省略部分代碼?}
void Update () {
?//省略部分代碼
?CreateRocket();
?}
publicTransform obj_rocket;//子彈已經通過預設創建好了,將其聯到主角,從Project視圖拖拽綁定到游戲主角腳本
void CreateRocket()
??? {
??? ??//創建子彈的時間間隔
???????????r_shootInterval -=Time.deltaTime;
??????????? if (r_shootInterval<=0)
???????????{
???????????????r_shootInterval = 0.3f;
?//按下空格鍵或鼠標左鍵
???????????????if (Input.GetKey(KeyCode.Space) ||Input.GetMouseButtonDown(0))
???????????????{
???????????????????//子彈是從主角身上發出的,所以借用主角目前的坐標位置
???????????????????Instantiate(obj_rocket,m_transform.position,m_transform.rotation);
???????????????}
???? ???????}
??? }
轉載于:https://my.oschina.net/liangzhenghui/blog/186655
總結
以上是生活随笔為你收集整理的Unity3D:创建对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 考研复习安排——第一阶段末
- 下一篇: Unity3d Time的使用