

using UnityEngine; using System.Collections; public class CubeInit : MonoBehaviour { //砖块预设体 public GameObject cubePrefab; //砖墙宽高 public Vector2 W_H = new Vector2(8,8); void Start() { for (int i = 0; i < W_H.x; i++) { for (int j = 0; j < W_H.y; j++) { //砖块位置 Vector3 pos = new Vector3 (i,j,0); //生成砖块 Instantiate (cubePrefab, pos, Quaternion.identity); } } } }
要发射的子弹预设体
using UnityEngine; using System.Collections; public class Fire : MonoBehaviour { //子弹预设体 public GameObject bulletPrefab; //子弹飞行速度 public float speed = 3f; //鼠标转换的射线 private Ray mouseRay; //射线碰撞检测器 private RaycastHit hit; void Update() { //按下鼠标左键 if (Input.GetMouseButtonDown (0)) { //获取射线对象 mouseRay = Camera.main.ScreenPointToRay (Input.mousePosition); //如果射线检测到碰撞体 if (Physics.Raycast (mouseRay, out hit)) { //生成子弹 GameObject currentBullet = Instantiate (bulletPrefab, Camera.main.transform.position, Quaternion.identity) as GameObject; //子弹飞行方向 Vector3 dir = hit.point - Camera.main.transform.position; //给子弹施加一个力 currentBullet.GetComponent<Rigidbody> ().AddForce (dir.normalized * speed); //2秒后销毁子弹 Destroy (currentBullet, 2f); } } } }