• unity3d 学习笔记(两)


    AudioClip 使用声音资源


    unity3d资源可以被设置为声3d声音或2d声音。3d间的影响,越近声音越大

    component:

    Audio source: 声音的发生物体

    Audio listener:声音的接受者 一般放于主角中

    两者一起使用否则将无意义。


    代码声音简单的控制:

    //假设在拖入此脚本时。假设gameObject对象没有加入Audiosource组件。会自己主动加上

    [RequireComponent(typeof(AudioSource))]
    public class AudioControl : MonoBehaviour {
    
    //这里的audio对象为GameObject.AudioSource的实例
    	public AudioClip bg;
    	void OnGUI()
    	{
    		if(GUILayout.Button("Play"))
    		{
    			if(!audio.isPlaying)
    			audio.Play();
    		}
    
    
    		if(GUILayout.Button("pause"))
    		{
    			audio.Pause(); 
    		}
    
    
    		if(GUILayout.Button("stop"))
    		{
    			audio.Stop();
    		}
    
    
    		if(GUILayout.Button("playOneshoot"))
    		{
                            //播放指定的声音片段,第二參数音量大小
    			audio.PlayOneShot(bg,0.7f);
    		}
    	}
    }



    MovieTexture 的使用(貌似部分压缩过的视频播放是有问题的,以下的方法也仅仅限于pc)

    unity3d中支持的影片格式包括  .mov、.mpg、.mpeg、.mp4、.avi和.asf。(QuickTime支持的格式都支持)仅仅需将相应的视频文件拖拽入Project视图就可以,它会自己主动生成相应的MovieTexture对象。

    (导入的时候确定已经安装了QuickTime)

    当一个视频文件加入到项目中,它将被自己主动导入并转换成Ogg Theora格式。一旦影片纹理导入,则能够附加到不论什么游戏物件上或材质上,就像一个普通纹理一样。

    Playing the Movie 播放影片

    游戏開始执行时,影片纹理并不会自己主动播放。您必须写一个简单的脚本,来告诉它什么时候播放。

    // this line of code will make the Movie Texture begin playing
    //这行代码将使影片纹理開始播放
    renderer.material.mainTexture.Play();


    下列脚本,当按下空格键时来切换影片播放:

    function Update () {
    	if (Input.GetButtonDown ("Jump")) {
    		if (renderer.material.mainTexture.isPlaying) {
    			renderer.material.mainTexture.Pause();
    		}
    		else {
    			renderer.material.mainTexture.Play();
    		}
    	}
    }



    Prefab

    在实例对象中进行改动后按apply 改动将被应用到Prefab

    在实例对象中对一些属性进行重载overwrite 。重写的以粗体标出,按下revert 属性讲revert到prefab同样的属性值

    按下select将在资源视图中标出prefab

    // Use this for initialization  
        void Start () {  
            for(float x=0; x<5; x++)  
            {  
                for(float y=0; y<5; y++)  
                {  
                    Instantiate(prefab,new Vector3(x,y,0),Quaternion.identity);  
                                    //GameObject 创建cube  
                                    //GameObject  cube = GameObject.CreatePrimitive(PrimitiveType.Cube);  
                    //cube.transform.position = new Vector3((float)x,(float)y,0);  
                    //cube.transform.localScale = new Vector3(.8f,.8f,.8f);  
                }  
            }  
        }




    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    使用Microsoft URL Rewrite Module for IIS 7.0修改WEB.CONFIG即可实现*.HTML伪静态 无需修改应用程序映射
    我的第二个智能手机 HKC G801 严重质量问题 USB接口坏后解决办法
    JQuery的跨域方法 可跨新浪、腾讯等任意网站
    IIS7下使用MSDNURLRewriting.msi开源组件的设置
    面向对象编程,真离不开设计模式?
    jQuery 的filter(),not(),split()用法
    2008年总结
    程序中 同步和异步的经典解释 (一听就懂)
    2009年元旦前祝福 开心一下
    到底什么是SOA?
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4708885.html
Copyright © 2020-2023  润新知