1.创建3个静态物体摆好位置,并将其图层设为UI
2.编写一个脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class xt : MonoBehaviour
{public GameObject xt1;public GameObject xt2;public GameObject xt3;int x = 1;void OnCollisionEnter2D(Collision2D collision){if (collision.gameObject.tag == "dr")//判断碰撞的物体是不是敌人或者子弹{if (x == 1){Destroy(xt1);x++;}if (x == 3){Destroy(xt2);x++;}if (x == 5){Destroy(xt3);}x++;}}
}
3.创建一个玩家和敌人并将敌人(这里是红色的方块)添加一个“dr”标签
4.将脚本挂到玩家上,并将表示血条的块块拖到对应位置(这里血条会从xt1开始减少,注意顺序即可)
5.将玩家和敌人刚体这里改成这样,重力设置为0
6.运行游戏,拖动敌人靠近玩家,当碰撞时就能观察到血条减少了
总结:这个代码简单实现了扣血的效果,没有写加血的效果,也没写血扣完后的逻辑,这些可以自己添加。
这是去年刚学unity自己设计的一个血条功能,虽然写得很烂,但是当自己做出来的时候还是感觉很有成就感的。学代码就是要多写,不要觉得自己做的不好,先去尝试过后,再去考虑如何把事情做得更好。
希望这篇文章能够激发大家的一些思考。