首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity5中的脚本音频

Unity5中的脚本音频
EN

Stack Overflow用户
提问于 2015-03-19 11:49:45
回答 3查看 2.7K关注 0票数 1

大家好!我刚开始在联合5和C#,我遵循一个教程,事情是.本教程是为Unity4编写的,因此教程中的一些代码在U5中无法使用。这一次,我的问题是编写到操作的音频脚本,下面是代码:

代码语言:javascript
复制
using UnityEngine;
using System.Collections;

[System.Serializable]

public class Boundary
{
    public float xMin, xMax, zMin, zMax;
}

public class PlayerController : MonoBehaviour
{

public float speed;
public float tilt;
public Boundary boundary;

public GameObject shot;
public float fireRate;
public Transform shotSpawn;

private float nextFire;

void Update()
{
    if (Input.GetButton ("Fire1") && Time.time > nextFire)
    {
        nextFire = Time.time + fireRate;
        Instantiate (shot, shotSpawn.position, shotSpawn.rotation);
        Audio.Play(); <---
    }
}

void FixedUpdate ()
{
    float moveHorizontal = Input.GetAxis ("Horizontal");
    float moveVertical = Input.GetAxis ("Vertical");

    Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);

    Rigidbody rb = GetComponent<Rigidbody> ();
    rb.velocity = movement * speed;

    rb.position = new Vector3 
        (
            Mathf.Clamp (rb.position.x, boundary.xMin, boundary.xMax),
            0.0f,
            Mathf.Clamp (rb.position.z, boundary.zMin, boundary.zMax)
        );
    rb.rotation = Quaternion.Euler (0.0f, 0.0f, rb.velocity.x * -tilt);
}

}

因此,行"audio.Play();“是没有编译的,因为U5中没有任何东西接近该语法。有人能给我个提示吗?

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-19 12:51:12

不要使用Audio.play(),使用GetComponent<AudioSource>().Play();,并确保将Audiosource附加到游戏对象。

票数 2
EN

Stack Overflow用户

发布于 2015-04-23 10:08:18

添加一个变量'AudioClip‘并将剪辑分配给一个音频源。然后使用getComponent.Play();

票数 1
EN

Stack Overflow用户

发布于 2015-09-07 00:05:04

爪哇:

代码语言:javascript
复制
     var myClip : AudioClip;
    function Start () {
     AudioSource.PlayClipAtPoint(myClip, transform.position);

}

c#:

代码语言:javascript
复制
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class SoundController : MonoBehaviour {
    public AudioClip clip;  

    void Start () {
        AudioSource.PlayClipAtPoint(clip, Vector3.zero, 1.0f);      
    }
}

如果要在实例化中播放音频,可以使用以下命令:

代码语言:javascript
复制
#pragma strict
var prefabBullet : Transform;
var forwardForce = 1000;
var myClip : AudioClip;
function Update()
{
if (Input.GetButtonDown("Fire2"))
{
var instanceBullet = Instantiate (prefabBullet, transform.position, 
Quaternion.identity);
instanceBullet.GetComponent.<Rigidbody>().AddForce(transform.forward * 
forwardForce);
AudioSource.PlayClipAtPoint(myClip, transform.position);
}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29143816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档