我在Unity中有一个非常简单的问题,我似乎无法解决。我想在场景之间进行无缝音乐循环。目前,我有一个空的游戏对象名为" BGMusic"使用" Music"的自定义标签。它附有一个音频源和脚本。但是,以下脚本并不适用于我:
using UnityEngine;
using System.Collections;
public class Music : MonoBehaviour {
void Awake()
{
GameObject[] objs = GameObject.FindGameObjectsWithTag("Music");
if (objs.Length > 0)
{
Destroy(gameObject);
}
DontDestroyOnLoad(gameObject);
}
}
我从标题为Playing Seamless Music Across Scenes in Unity 5 With Non-Destroyable Object的YouTube视频中找到了此代码示例。所有评论都表示它对他们有用,但似乎对我的游戏对象没有任何影响。我甚至试过做以下事情:
void Awake()
{
DontDestroyOnLoad(gameObject);
}
(班级名称和进口名称相同)
我很困惑,对此主题的任何帮助都将不胜感激。所有其他类似的帖子都挤满了无用的代码或用JavaScript完成。谢谢你的时间。
-TY
答案 0 :(得分:1)
您的代码必须是:
if (objs.Length > 1) // not 0
{
Destroy(gameObject);
}
在视频中,她写了1
,但是您写了0
,当代码运行时,GameObject
每隔时间自我毁灭!
要注意!