现在Boss死亡时,招唤出来的小兵不会一起死亡,来让Boss的程序加一个死亡布林值,开启一下bossAI的程序
//多加一个公开布林值isdie 起始给false
public bool isdie=false;
void Start()
{
right = true;
anim = GetComponent<Animator>();
InvokeRepeating("Attack", 1f, 2f);
//开始时也给一下isdie=false(不加此行应该也可)
isdie = false;
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "PlayerBullet")
{
hp -= 5f;
anim.SetTrigger("hit");
if (hp <= 0)
{
//(当boss没血时)isdie=true告诉程序isdie成立罗
isdie = true;
//晚个0.2秒消失,马上消失可能程序会有运行问题
Destroy(gameObject,0.2f);
}
}
}
BossAI调整完後,开启EnemyAI来修改小兵的程序
//公开一个BossAI的程序 预设空值
public BossAI boss = null;
void Start()
{
right = true;
anim = GetComponent<Animator>();
InvokeRepeating("Attack", 1f, 2f);
//boss = 找到名称叫"Boss" (此名称要一模一样).找到後取得身上的
//BossAI程序丢到boss里
boss = GameObject.Find("Boss").GetComponent<BossAI>();
}
void Update()
{
Move();
//如果(boosAI的程序里isdie=true就执行)
if(boss.isdie)
{
//销毁此物件
Destroy(gameObject);
}
}
现在王死完小兵也会一起跟着消灭,那就要进入下一关,一样跳出一个通关画面,把死亡画面复制一下Ctrl+C&Ctrl+V或是Ctrl+D直接复制都可以,再调一下名称
接下来改一下通关画面的内容,标题,按钮…可以回新增死亡画面看如何制作
都制作完成就改一下Player的程序把win通关画面打开,开启PlayerControl
//序列划一个物件名叫winWindoe(记得unity要拖曳此画面)
[SerializeField] GameObject winWindow = null;
//公开一个BossAI的程序叫boss
public BossAI boss = null;
private void Start()
{
anim = GetComponent<Animator>();
rig = GetComponent<Rigidbody2D>();
InvokeRepeating("Attack", 0.1f, 1.1f);
hpBar.fillAmount = hp / hpMax;
dieWindow.SetActive(false);
//先把通关画面关闭
winWindow.SetActive(false);
// boss = 找到名称叫"Boss" (此名称要一模一样).找到後取得身上的
//BossAI程序丢到boss里
boss = GameObject.Find("Boss").GetComponent<BossAI>();
}
private void FixedUpdate()
{
Move();
//当Boss死亡时
if (boss.isdie)
{
//开启通关画面
winWindow.SetActive(true);
}
}
按钮之前也学过罗~可以开新场景制作下一关
(或用程序调整下一关的血量数量等)
到目前应该基本游戏功能大致都完成罗~
剩下就补充跟手机功能应用罗~
跟AI/ML 有关的监管考量 在前一篇的文章指出,在医疗产业中的监管文献有两篇。然而这两篇的内容其实...
摘要 前言 作业流程 手写中文字开源资料 空白背景图片 筛选出官方800字内 内容 前言 1.1 从...
DevOps 组别 https://wolkesau.medium.com/devops-组别-37...
EKS试炼 今日会撰写YAML来建置EKS Cluster并使用eksctl执行建置,以及Lens去...
承上一篇,模型训练完成之後的那些Vertex列出评估函数,除了R^2也一并介绍剩下的名词。 MAE ...