日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity打飞机(四)敌机移动与触碰效果,和爆炸音效

發布時間:2023/12/29 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity打飞机(四)敌机移动与触碰效果,和爆炸音效 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
using System.Collections; using System.Collections.Generic; using UnityEngine;//枚舉 public enum DownType{Small,Middle,Big,SuperBullet,Bomb } //敵機移動 public class EnemyAndSuperMove : MonoBehaviour {//設定枚舉類型public DownType type = DownType.Small;//下落時間private float downTime = 5f;//血量public int HP = 1;//敵機是否爆炸private bool isBomb = false;//爆炸圖片切換private SpriteRenderer reder;public Sprite[] EnemySprite;//爆炸時間private float bombTime;//被打圖片切換public Sprite[] hitSprite;//被打圖片切換間隔private float hitTime;//分數public static int num = 0;//爆炸音效private AudioSource audioSource;// Use this for initializationvoid Start () {reder = GetComponent<SpriteRenderer> ();audioSource = GetComponent<AudioSource> ();}// Update is called once per framevoid Update () {//敵機移動并銷毀超出屏幕的transform.Translate (Vector3.down * downTime * Time.deltaTime);if (transform.position.y < -4.5) {Destroy (gameObject);}//判斷敵機是否爆炸if (isBomb) {bombTime += Time.deltaTime;int bt = (int)(bombTime / (1f / 10));if (bt >= EnemySprite.Length) {Destroy (gameObject);num++;ButtonAndText.num = num;isBomb = false;} else {reder.sprite = EnemySprite [bt];}} else {//判斷是否為中和大飛機,實現被打圖片切換if ((type == DownType.Middle || type == DownType.Big ) && hitTime > 0) {hitTime -= Time.deltaTime;int hs = (int)(hitTime / (1f / 10)) % 2;reder.sprite = hitSprite [hs];}}}//觸發器void OnTriggerEnter2D(Collider2D other){if (other.tag == "Bullet" && (type != DownType.SuperBullet || type != DownType.Bomb)) { //判斷是不是碰到子彈SubtractHP ();} else if (other.tag == "hero") { //判斷是否觸碰到飛機if (type == DownType.SuperBullet || type == DownType.Bomb) {//判斷是不是空投觸碰到敵機Destroy (gameObject);} }}//減血void SubtractHP(){HP--;hitTime = 0.2f;if (HP < 0) {Destroy (gameObject.GetComponent<Rigidbody2D>()); //播放爆炸音效audioSource.Play ();EnemyBomb ();}}//掛掉public void EnemyBomb(){ isBomb = true;}}

?

總結

以上是生活随笔為你收集整理的Unity打飞机(四)敌机移动与触碰效果,和爆炸音效的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。