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);
}
}
}
}
// 子弹预设体
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);
// 如果射线检测到碰撞提ti
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);
Destroy (currentBullet, 2f);
}
}
}
打砖块Demo
最新推荐文章于 2021-01-14 21:47:11 发布