Prefab - 预设体

预设体是一个游戏对象及其组件的集合,目的是使游戏对象及资源能够被重复使用,相同的游戏对象可以通过一个预设体来创建,此过程可以理解为实例化

对预设体进行修改后,所有游戏对象都会相应改变

把一个游戏对象从层级视图拖到工程视图后就会生成一个预设体
这里写图片描述

这里写图片描述


代码实例

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {

    public GameObject playerPrefab; // play 的预设体

    void Update () {
        if (Input.GetKeyDown(KeyCode.P))
        {
            // 每当按下 P 键就会在场景中创建一个 Player 游戏对象
            // 用预设体创建游戏对象

            Vector3 pos = new Vector3();
            pos.y = 0.5f;
            // 使用 Random.Range() 方法来产生随机数
            pos.x = Random.Range(-5f, 5f);
            pos.z = Random.Range(-5f, 5f);
            // 生成随机的角度值
            float angle = Random.Range(0f, 360f);
            // 使用 Instantiate 来创建游戏对象
            // 参数1: 使用哪个预设体创建游戏对象
            // 参数2: 创建出的游戏对象的初始位置
            // 参数3: 创建出的游戏对象初始化旋转角度;Quaternion用于表示旋转;identity 表示不旋转
            // Instantiate 返回一个 Object 类型的对象,用一个 GameObject 类型接受;后面用 as 关键字将返回的 Object 转换成 GameObject
            GameObject p = Instantiate(playerPrefab,pos,Quaternion.AngleAxis(angle,Vector3.up)) as GameObject;
            p.AddComponent<CubeController>();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值