| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class BulletCtrl : MonoBehaviour
- {
- /// <summary>
- /// 运动刚体组件
- /// </summary>
- Rigidbody rigidbody;
- Collision collision1;
- SphereCollider bulletColl;
- public int speed;
- private Vector3 vector3;
- private GameObject ef_baodian;
- private GameObject ef_kuosan;
- void Awake()
- {
- rigidbody = gameObject.AddComponent<Rigidbody>();
- rigidbody.useGravity = false;
- bulletColl = GetComponent<SphereCollider>();
-
- ef_baodian = transform.Find("EF_baodian").gameObject;
- ef_kuosan = transform.Find("EF_kuosanquan").gameObject;
- ef_kuosan.SetActive(false);
- ef_baodian.SetActive(false);
- }
- public void PlayShoot(GameObject go)
- {
- rigidbody.useGravity = GameInstantiateData.Instance.bullet_useGravity;
- rigidbody.mass = GameInstantiateData.Instance.bullet_Mass;
- speed = GameInstantiateData.Instance.bullet_Force;
- bulletColl.material.bounciness = GameInstantiateData.Instance.bullet_Bounciness;
- //碰撞检测方式
- //rigidbody.collisionDetectionMode = CollisionDetectionMode.ContinuousSpeculative;
- rigidbody.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
- vector3 = go.transform.up;
- rigidbody.AddForce(vector3 * speed);
- ef_kuosan.SetActive(false);
- }
- void OnCollisionEnter(Collision collision)
- {
-
- if (collision1 == null)
- {
- collision1 = collision;
- //碰到气球
- if (collision1.gameObject.tag.CompareTo("balloon")== 0)
- {
- ef_baodian.SetActive(true);
- GameMgr.instance.HitTarget(collision.gameObject.GetInstanceID());
- }
- }
- rigidbody.useGravity = true;
- }
- private void OnCollisionExit(Collision collision)
- {
- // Debug.Log("退出" + collision.gameObject.name);
- collision1 = null;
- }
- }
|