Prefabs(预设)是一种资源类型,可被重复使用的游戏对象。它可以被置入多个场景中,又或者能够在一个场景中被多次置入。当你在一个场景中增加一个Prefabs,你就实例化了一个Prefabs。所有Prefabs实例都是Prefab的克隆,只要Prefabs原型发生改变,所有的Prefabs实例都会产生变化。
例如在做射击类的游戏时,在Hierarchy 视图中创建了子弹模型Rockety ,由于子弹要重复使用这时你就需要在Project视图中建立一个 Prefabs来存放子弹。这时你只需将子弹模型拖向Prefabs 然后删除 Hierarchy视图中的子弹模型。
2. 创建完子弹以后,你要关联角色物体(例如飞机),这时需要用到Instantiate
Instantiate:克隆原始物体。设置位置,角度。如果一个对象,组件,脚本实例被传入。将克隆整个对相爱难过的层次,以及所有子对象。
static function Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object
这是其中一个打飞机,飞机发射子弹胆码
//按下空格键或者鼠标左键发射子弹
if(Input.GetKey(KeyCode.Space) || Input.GetMouseButton (0) )
{
Instantiate (m_rocket,m_transform.position,m_transform.rotation);
//unity 的游戏体智能使用 Instantiate 函数实例化,不能使用 new
}
本文出自 “紫金飞侠雷” 博客,转载请与作者联系!