子弹射中敌人播放爆炸并销毁的动画效果

Posted 礼桀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子弹射中敌人播放爆炸并销毁的动画效果相关的知识,希望对你有一定的参考价值。

首先在敌人enemy

的脚本下面

public class enemy : MonoBehaviour
{
   public EnemyType type=EnemyType.enemy0;


    private float time = 0;
    public int framePerSecond = 10;
    public Sprite[] enemyExplosionArray;          //存放动画帧的数组
    private SpriteRenderer spriteRenderer;       //用于得到动画效果
    public bool isExplosion = false;                 //指定一个标志-开关

                void Start()
               {
                    //得到SpriteRenderer组件
        spriteRenderer = this.GetComponent<SpriteRenderer>();
    }
    
    void Update () {

                if (hp <= 0)
        {
            isExplosion = true;
            ExplosionAnimation();
        }
        
    }

//bullet脚本传递过来的消息
    public void BeHit()
    {
        hp -= 1;
       
    }

//播放摧毁的动画的方法
    public void ExplosionAnimation()
            {
        time += Time.deltaTime;
        int indexFrame = (int) (time/(1f/framePerSecond));
           //如果帧数超过数组长度就销毁游戏物体
        if (indexFrame>=enemyExplosionArray.Length+1)
        {
            Destroy(this.gameObject);
        }
        else
        {
           //否则就播放动画
            spriteRenderer.sprite = enemyExplosionArray[indexFrame];

        }

    }
}


然后进入子弹bullet脚本添加hp等于零的时候不检测碰撞的代码

 void OnTriggerEnter2D(Collider2D other)
    {
       
        if (other.tag == "Enemy")
        {
            if (!other.GetComponent<enemy>().isExplosion)
            {
                other.SendMessage("BeHit");
                GameObject.Destroy(this.gameObject);  
            }
          
        }
    }

 

以上是关于子弹射中敌人播放爆炸并销毁的动画效果的主要内容,如果未能解决你的问题,请参考以下文章

学习 Python 之 Pygame 开发魂斗罗

基于java的坦克大战游戏

学习 Python 之 Pygame 开发坦克大战

Android 显示view的粒子爆炸/绽放效果

SKPhysicsContact 没有用子弹接触敌人

jQuery 将 div 切片成动画片段