如何在Unity中直接播放音频?

时间:2018-01-31 03:23:04

标签: unity3d

这真的不应该那么困难,但我似乎无法在剧本中播放声音。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class State1 : State {
    AudioClip clip = new AudioClip();

    public override void initialize(){
        Debug.Log ("StateRemoveBolts.initialize()");
        clip = Resources.Load<AudioClip>("Sounds/my_sound");
        AudioSource.PlayClipAtPoint (clip, Vector3(0));
    }
    public override void destroy(){}
    public override void update(StateMachine sm){}
}

我收到此错误:

  

错误CS0119:表达式表示type', where a变量',value' or方法组'是预期的

2 个答案:

答案 0 :(得分:3)

Vector3(0)不是有效代码。

你要么:

  • Vector3.Zero用于引用零向量(如执行Math.PI

或者

  • new Vector3(0,0,0)创建一个

答案 1 :(得分:1)

正如Draco所说,Vector3(0)无效,Vector3(0, 0, 0)也无效。 你想要的是使用new关键字,否则,Unity会认为你想要一个变量类型,当它需要一个实际的变量或值时。

如果你取出(0),你会得到同样的错误,所以你在括号中放的是无关紧要的,你也需要使用new关键字,它告诉编译器调用Vector3构造函数。

由于看起来你想要全部为零,我会做Vector3.Zero