您的位置:首页 > 移动开发 > Unity3D

Unity3d之音效播放和调用手机震动

2014-08-15 10:38 603 查看
http://blog.csdn.net/sunshine_1984/article/details/12943979

今天研究了下Unity3d音效播放相关内容,整理下实现细节。

1,添加音效文件到Assets/Resources目录,我这里添加到Assets/Resources/audio目录了。

2,新建C# Script命名为audio

3,编写audio.cs代码如下(里面注释很清楚了):

using UnityEngine;
using System.Collections;

public class audio : MonoBehaviour {
//音乐文件
public AudioSource music;
//音量
public float musicVolume;
// Use this for initialization
void Start () {
//this.gameObject.AddComponent("AudioSource");
music = this.gameObject.AddComponent("AudioSource") as AudioSource;
music.clip = Resources.Load("audio/test") as AudioClip;
music.playOnAwake = false;
music.loop = false;
//设置默认音量
musicVolume = 0.2F;
}

// Update is called once per frame
void Update () {

}

void OnGUI()
{

//播放音乐按钮
if (GUI.Button(new Rect(10, 10, 100, 50), "Play music"))
{

//没有播放中
if (!music.isPlaying)
{
//播放音乐
music.Play();
}

}

//关闭音乐按钮
if (GUI.Button(new Rect(10, 60, 100, 50), "Stop music"))
{

if (music.isPlaying)
{
//关闭音乐
music.Stop();
}
}
//暂停音乐
if (GUI.Button(new Rect(10, 110, 100, 50), "Pause music"))
{
if (music.isPlaying)
{
//暂停音乐
//这里说一下音乐暂停以后
//点击播放音乐为继续播放
//而停止以后在点击播放音乐
//则为从新播放
//这就是暂停与停止的区别
music.Pause();
}
}

//创建一个横向滑动条用于动态修改音乐音量
//第一个参数 滑动条范围
//第二个参数 初始滑块位置
//第三个参数 起点
//第四个参数 终点
musicVolume = GUI.HorizontalSlider(new Rect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F);

//将音量的百分比打印出来
GUI.Label(new Rect(160, 50, 300, 20), "Music Volueme is " + (int)(musicVolume * 100) + "%");

if (music.isPlaying)
{
//音乐播放中设置音乐音量 取值范围 0.0F到 1.0
music.volume = musicVolume;
}
}
}

4,关联audio.cs到Main Camera

调用手机震动器api如下:Handheld.Vibrate(); //手机的震动效果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: