大家好!我刚开始在联合5和C#,我遵循一个教程,事情是.本教程是为Unity4编写的,因此教程中的一些代码在U5中无法使用。这一次,我的问题是编写到操作的音频脚本,下面是代码:
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中没有任何东西接近该语法。有人能给我个提示吗?
提前感谢!
发布于 2015-03-19 12:51:12
不要使用Audio.play(),使用GetComponent<AudioSource>().Play();,并确保将Audiosource附加到游戏对象。
发布于 2015-04-23 10:08:18
添加一个变量'AudioClip‘并将剪辑分配给一个音频源。然后使用getComponent.Play();
发布于 2015-09-07 00:05:04
爪哇:
var myClip : AudioClip;
function Start () {
AudioSource.PlayClipAtPoint(myClip, transform.position);
}c#:
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);
}
}如果要在实例化中播放音频,可以使用以下命令:
#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);
}
}https://stackoverflow.com/questions/29143816
复制相似问题