天天看点

Unity3D——学习分享(十一)实例化物体

在射击类游戏中,我们每当按下发射键就会在当前位置下实例化出来一颗子弹。今天分享一下实例化的方法 Instantiate。

实例化方法

实例化方法 用的的参数为实例化的物体、实例化的位置以及旋转。

所以预先创建一个预制体小球作为发射的子弹,然后设置实例化的位置,我这里将位置设置为主摄像机的位置,实例化出来之后给预制体添加一个向前的力使其向前运动。

Unity3D——学习分享(十一)实例化物体
Unity3D——学习分享(十一)实例化物体

代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class bullet : MonoBehaviour {
 public Rigidbody prefab;//定义一个Rigidbidy的物体,并将做好的小球(子弹)赋给它
 public Transform pos;//定义一个位置变量,将主相机的位置赋给它
 public float force = 100; //定义一个力
 
void Update () {
 if (Input.GetMouseButtonDown(0)) {
            Rigidbody go = Instantiate(prefab, pos.position, Quaternion.identity) as Rigidbody;//将实例化的小球赋给变量go
            go.AddForce(Vector3.left * force);  //给实例化出来的子弹添加一个力(方向根据自己的所需定)         
            }
      }
]
           

运行结果

Unity3D——学习分享(十一)实例化物体

继续阅读