using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class Boom : MonoBehaviour {
GameObject particle;
public float _boomsize = 10f; //爆炸半径
RaycastHit hit;
public float _boomPower = 1000f; //爆炸的力度
// Use this for initialization
void Start () {
particle = Resources.Load("Boom") as GameObject; //特效
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(0) && !EventSystem.current.IsPointerOverGameObject())
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray,out hit))
{
GameObject.Instantiate(particle, hit.point, Quaternion.identity);
Collider[] collider = Physics.OverlapSphere(hit.point, _boomsize); //获取点球形半径X的内的所有物体
foreach (Collider c in collider)
{
if (c.GetComponent<Rigidbody>())
{
c.GetComponent<Rigidbody>().AddExplosionForce(_boomPower, hit.point, _boomsize);
}
}
}
}
}
}
using System.Collections;
using UnityEngine.EventSystems;
public class Boom : MonoBehaviour {
GameObject particle;
public float _boomsize = 10f; //爆炸半径
RaycastHit hit;
public float _boomPower = 1000f; //爆炸的力度
// Use this for initialization
void Start () {
particle = Resources.Load("Boom") as GameObject; //特效
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(0) && !EventSystem.current.IsPointerOverGameObject())
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray,out hit))
{
GameObject.Instantiate(particle, hit.point, Quaternion.identity);
Collider[] collider = Physics.OverlapSphere(hit.point, _boomsize); //获取点球形半径X的内的所有物体
foreach (Collider c in collider)
{
if (c.GetComponent<Rigidbody>())
{
c.GetComponent<Rigidbody>().AddExplosionForce(_boomPower, hit.point, _boomsize);
}
}
}
}
}
}