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自己设计的一个血条功能,虽然写得很烂,但是当自己做出来的时候还是感觉很有成就感的。学代码就是要多写,不要觉得自己做的不好,先去尝试过后,再去考虑如何把事情做得更好。
希望这篇文章能够激发大家的一些思考。