• 记录:Unity脚本的编写4.0


    前言

    之前使用脚本对uniry中的模型进行了控制,诸如使用键盘控制对象模型的移动或者使用鼠标对对象模型进行角度的切换(或者是类似的东西),而我们在游戏的过程中,总是伴随着一些好听的bgm(背景音乐),今天我们也来给我们的场景中添加bgm吧

    导入音乐

    首先在unity中创建一个文件夹用来存放需要导入的音频文件
    在这里插入图片描述
    在这里插入图片描述
    然后创建一个音频对象
    在这里插入图片描述
    在这个对象上添加一个Audio Source组件
    在这里插入图片描述
    这样我们就有了控制这个对象的组件,这个组件中的各种功能在此就不做赘述,在字面也很容易理解
    接下来就编写对该模型控制的脚本代码

    编写脚本

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class newscript : MonoBehaviour
    {
        // Start is called before the first frame update
        AudioSource ads;
        AudioClip ac;
        List acs = new List();
        int j = 0;
        void Start()
        {
            #region source
            //ads = GetComponent();
            //ads.Play();//播放
            // ads.Pause();//暂停
            // ads.UnPause();//继续播放
            // ads.PlayOneShot();//播放一次
            // ads.volume;//音量
            // ads.playOnAwake;//唤醒时播放
            // ads.mute;//静音
            //ads.loop;//循环
            // ads.isPlaying;//是否播放中
            // ads.clip;//声音片段 
            #endregion
            //加载音频设置
            ac = Resources.Load("Assets/resource/AudioClip/1.mp3") as AudioClip;
            ads = GetComponent();
            for(int i = 0;i < 3; i++){
                ac = Resources.Load("Assets/resource/AudioClip/1.mp3") as AudioClip;
                acs.Add(ac);
            } 
        }
    
        // Update is called once per frame
        void Update()
        {
            
            changeVolume();
            playMusic();
            changeMusic();
        }
    
        private void changeMusic()
        {
            if (Input.GetKey(KeyCode.Tab))
            {
                ads.clip = acs[j];
                ads.Play();
                if (j < acs.Count - 1)
                {
                    j++;
                }
                else
                {
                    j = 0;
                }
            }
        }
    
        private void playMusic()
        {
            if (Input.GetKey(KeyCode.B))
            {
                if (ads.isPlaying)
                {
                    ads.Pause();
                }
                else
                {
                    ads.UnPause();
                }
            }
            
        }
    
        private void changeVolume()
        {
            if (Input.GetKey(KeyCode.M))
            {
                ads.volume += 0.5f;
            }
            if (Input.GetKey(KeyCode.N))
            {
                ads.volume -= 0.5f;
            }
            
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92

    这样就对音乐进行了操作,包括使用键盘点击Tap切换音乐,点击B控制音乐的暂停与播放,点击M控制音量的增减等,当然还有很多可以进行的操作,在这里也不展开进行论述,感兴趣的可以自行查找添加
    在这里插入图片描述
    在后台可以看到音乐的播放与控制

    以上。

  • 相关阅读:
    网络模块封装
    如何解决系统中可能存在的性能问题?
    使用python操作文件和文件夹
    fastspar微生物相关性推断
    【0234】PgBackendStatus 记录当前postgres进程的活动状态
    NPM- 滚动进度可视化插件
    【Unity小技巧】图片使用的一些常见问题
    ​LeetCode解法汇总146. LRU 缓存
    【发福利啦!】畅享上百万卡时NPU普惠算力,启智与昇思MindSpore社区联合推出算力支持计划
    LeetCode_424_替换后的最长重复字符
  • 原文地址:https://blog.csdn.net/m0_72471315/article/details/133966656