Unity3D基础26:物体实例化
在很多游戏中,都有那种类似“奖励分”的游戏道具,它们会随机刷出,玩家捡到之后就会获得相应的分数或者物品
一、物体实例化
实例化就是通过预制体来克隆物体,先新建一个“金币”预制体如下:
那么如何用脚本实例化生成金币呢?
还是先建立一个空物体,专门用于挂脚本生成上面的"coin"
之后编写脚本并拖到这个空物体上,定义一个公有的GameObject类型,如下:
public GameObject Mycoin;
之后再进行一个神奇的操作:将预制体"Coin"拖到Mycoin上,或者进行如下操作(效果是一样的):
这样的话,脚本就有了"Coin"的引用,之后就可以开始编写代码了
GameObject.Instantiate(Object, Vector3, Quaternion):实例化生成一个物体,返回Object类型(注意不是GameObject,可以用as操作符转化)
参数说明:
- Object:需要实例化的预制体;
- Vector3:生成的物体所在的位置;
- Quaternion:四元数,生成的物体的旋转状态,暂时不用深入了解,只需要知道 Quaternion.identity 代表无旋转
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CoinPrint : MonoBehaviour
{
public GameObject Mycoin;
void Start()
{
GameObject.Instantiate(Mycoin, new Vector3(1, (float)0.05, 1), Quaternion.identity);
}
void Update()
{
}
}
这样子,在游戏开始时,就会立刻生成一枚金币在场内了