C# 统一意外的良好行为
我正在上Udemy的Unity C#课程,我们遇到了一个挑战,我想出了一个非常简单的“游戏”。我的问题是我不明白为什么没有声音播放?我查看了讲师代码,与我的代码相同(或者我只是错过了什么?) 当我按下太空按钮时,火箭开始飞行(这起作用),应该会发出声音(它不起作用)。是的,我在主摄像机上安装了一个声音监听器。 有人能帮我解释一下我错过了什么吗 以下是我编写的代码:C# 统一意外的良好行为,c#,visual-studio,unity3d,C#,Visual Studio,Unity3d,我正在上Udemy的Unity C#课程,我们遇到了一个挑战,我想出了一个非常简单的“游戏”。我的问题是我不明白为什么没有声音播放?我查看了讲师代码,与我的代码相同(或者我只是错过了什么?) 当我按下太空按钮时,火箭开始飞行(这起作用),应该会发出声音(它不起作用)。是的,我在主摄像机上安装了一个声音监听器。 有人能帮我解释一下我错过了什么吗 以下是我编写的代码: using System; using System.Collections; using System.Collections.
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Rocket : MonoBehaviour
{
Rigidbody rigidBody;
AudioSource audioSource;
// Use this for initialization
void Start()
{
rigidBody = GetComponent<Rigidbody>();
audioSource = GetComponent<AudioSource>();
}
// Update is called once per frame
void Update()
{
ProcessInput();
}
private void ProcessInput()
{
if (Input.GetKey(KeyCode.Space)) // can thrust while rotating
{
rigidBody.AddRelativeForce(Vector3.up);
if (!audioSource.isPlaying) // so it doesn't layer
{
audioSource.Play();
}
}
else
{
audioSource.Stop();
}
if (Input.GetKey(KeyCode.A))
{
transform.Rotate(Vector3.forward);
}
else if (Input.GetKey(KeyCode.D))
{
transform.Rotate(-Vector3.forward);
}
}
}
使用系统;
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共级火箭:单一行为
{
刚体刚体;
声源;声源;
//用于初始化
void Start()
{
刚体=GetComponent();
audioSource=GetComponent();
}
//每帧调用一次更新
无效更新()
{
ProcessInput();
}
私有void ProcessInput()
{
if(Input.GetKey(KeyCode.Space))//可以在旋转时推动
{
刚体.AddRelativeForce(矢量3.up);
如果(!audioSource.isPlaying)//那么它不会分层
{
audioSource.Play();
}
}
其他的
{
audioSource.Stop();
}
if(Input.GetKey(KeyCode.A))
{
变换。旋转(矢量3。向前);
}
else if(Input.GetKey(KeyCode.D))
{
变换。旋转(-Vector3。向前);
}
}
}
在向公众宣布音源后解决了这个问题