碰到一个保留字段? hits

``` // 如果碰到的是 “敌人 兔子” if (collision.tag == "Enemy_Bunny") { // 收集攻击,然后销毁攻击对象(脚本在攻击身上,用的动画帧事件) m_HitsCount++;// 受击数目加一 if (m_HitsCount >= 3) { // 暂停游戏时间 Time.timeScale = 0f; // 显示结束菜单 endMenu.SetActive(true); } // 获取玩家对象 BunnyBase bunny = collision.GetComponent<BunnyBase>(); // 收到冲击 if (transform.position.x < collision.transform.position.x) { m_BInjuringLeft = true; // 改变受伤状态 // 添加瞬间冲击力,类似爆炸的那种 m_Rb.AddForce(new Vector2(-1.0f * bunny.m_ForceOfRepelling, m_Rb.velocity.y), ForceMode2D.Impulse); } else { m_BInjuringRight = true; // 改变受伤状态 m_Rb.AddForce(new Vector2(bunny.m_ForceOfRepelling, m_Rb.velocity.y), ForceMode2D.Impulse); } // 播放音效 AudioManager.GetInstance().PlayInjuredAudio(); Debug.Log("Playing injured audio"); AudioManager.GetInstance().PlayInjuredAudio(); }```在里面添加结束菜单上面的按键功能,有再来一次和返回主菜单等,和下面的功能一样 [Header("受击设置")] public int maxHits = 3; private int hitCount = 0; [Header("UI引用")] public GameObject gameOverUI; public TMP_Text hitCounterText; private void ProcessHit() { hitCount++; UpdateHitUI(); if (hitCount >= maxHits) { GameOver(); } } private void UpdateHitUI() { if (hitCounterText) hitCounterText.text = $"受击次数: {hitCount}/{maxHits}"; } private void GameOver() { gameOverUI.SetActive(true); Time.timeScale = 0f; Cursor.visible = true; Cursor.lockState = CursorLockMode.None; } public void LoadMainMenu() { Time.timeScale = 1f; SceneManager.LoadScene("0"); } public void RestartLevel() { Time.timeScale = 1f; SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); } void OnTriggerEnter(Collider other) { if (other.CompareTag("Enemy")) { ProcessHit(); } }
最新发布
03-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值