【发布时间】:2022-12-04 00:27:07
【问题描述】:
我有一个带有名为“accept”的脚本的 Hitbox,然后我有 2 个预制件的公共布尔值为“isPoor”。其中一个预制件 = true,另一个 = false。
当带有 isPoor = true 的预制件进入“接受”命中框时,我希望游戏失败,而当 isPoor = false 进入“接受”命中框时,我希望玩家获胜。
我所拥有的代码的问题是它只会使游戏失败,即使 isPoor = false 的 NPC 进入“接受”命中框也是如此。
这是接受点击框的代码。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class accept : MonoBehaviour
{
public LayerMask grabbable;
public GameObject Spawner;
bool isPoor;
public GameManager gameManager;
public void OnTriggerEnter2D(Collider2D other)
{
isPoor = other.gameObject.GetComponent<Poor>().isPoor;
if (isPoor = true)
{
gameManager.GameOver();
}
if (isPoor = false)
{
gameManager.GameWon();
}
Destroy(other.gameObject);
Spawner.GetComponent<Spawner>().Spawn();
}
}
这是我第一次使用 Unity,所以我有点难过。但似乎脚本只是将两个预制件视为 isPoor = true。
【问题讨论】:
-
isPoor = true是分配价值。isPoor == true是对比。更简单地说,您可以使用if (isPoor) {或if (!isPoor) {