【发布时间】:2016-06-29 05:22:39
【问题描述】:
这是一个半复杂的问题,但我会尽力解释它:
我正在制作这款手机游戏,您必须在其中射击四个立方体。我正在努力做到这一点,所以当立方体被子弹击中时,它们会被摧毁,并且每当一个立方体被射击时,UI 文本都会显示 1/4 到 4/4。但这真的很奇怪,即使所有四个立方体都被射击并摧毁,也只能算到 1/4。我将这两个脚本放在子弹上(我制作了两个单独的脚本,看看是否可以做任何事情,但没有)
我已经使用 Unity 大约 6 天了,所以对于我所说的任何菜鸟问题,我深表歉意。
编辑
所以我将这两个脚本组合到一个空的游戏对象上,这是新的脚本:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GameManagerScript : MonoBehaviour {
public GameObject cubes;
public Text countText;
public int cubeCount;
public Transform target;
// Use this for initialization
void Start () {
}
void OnTriggerEnter(Collider other)
{
cubes = other.gameObject;
}
// Update is called once per frame
void Update () {
cubes.transform.position = Vector3.MoveTowards(transform.position, target.position, 1f * Time.deltaTime);
if (cubes.gameObject.tag == "BULLET")
{
cubeCount = cubeCount + 1;
countText.text = cubeCount + "/4";
cubes.SetActive(false);
}
}
}
另一个编辑
我尝试了所有方法,那么有没有办法检测层次结构中父级中的所有子级何时被销毁?而不是数数?这可以提供一个更好的主意:
所以我希望能够检测到 Cube、Cube1、Cube2 和 Cube3 何时都已被销毁。
【问题讨论】: