游戏开发小结——我如何在 Unity 中制作虚拟钢琴

2024-02-06 10:30

本文主要是介绍游戏开发小结——我如何在 Unity 中制作虚拟钢琴,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

游戏开发小结——我如何在 Unity 中制作虚拟钢琴

在这里插入图片描述

概述:

在本文中,我们将了解如何仅使用 UI 创建一个简单的虚拟钢琴。
设置:
1. 通过右键单击 UI>Image 创建一个图像对象并根据需要缩放它。
2. 通过右键单击 UI>Image 创建一个按钮,并将其作为第一个创建的图像对象的子对象。创建任意多个。
你的画布canvas应该如下所示。

在这里插入图片描述

3. 选择您创建的所有image/buttons并添加按钮组件button component。

在这里插入图片描述

4. 现在选择包含所有子按钮的父对象并添加音频源audio source。

在这里插入图片描述

5. 添加音频剪辑audio clip并取消选中唤醒awake时播放。

在这里插入图片描述

6. 在项目窗口中右键单击并create>AudioMixer。

在这里插入图片描述

7. 双击音频混合器audio mixer并添加一个新组。

在这里插入图片描述

8. 现在将新创建的组添加到音频源audio source。

在这里插入图片描述

9. 现在创建此脚本并将其添加到与音频源audio source相同的对象中。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class VirtualPiano : MonoBehaviour
{   private AudioSource _audioSource;void Start(){_audioSource = GetComponent<AudioSource>();}public void PlaySound(float pitchValue){_audioSource.pitch = pitchValue;_audioSource.PlayOneShot(_audioSource.clip);}
}
10. 选择所有按钮,将 Main 对象拖到 OnClick 事件中,然后选择 playSound 方法。

在这里插入图片描述

11. 现在只需将每个按钮的值设置为稍微低于彼此。我的设置是 1.2、1.1、1.0、0.9。
您现在应该拥有一个可以使用的简单键盘。
这就是本文的内容。

感谢您的关注。

这篇关于游戏开发小结——我如何在 Unity 中制作虚拟钢琴的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/684017

相关文章

Agent开发核心技术解析以及现代Agent架构设计

《Agent开发核心技术解析以及现代Agent架构设计》在人工智能领域,Agent并非一个全新的概念,但在大模型时代,它被赋予了全新的生命力,简单来说,Agent是一个能够自主感知环境、理解任务、制定... 目录一、回归本源:到底什么是Agent?二、核心链路拆解:Agent的"大脑"与"四肢"1. 规划模

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

C# Semaphore与SemaphoreSlim区别小结

《C#Semaphore与SemaphoreSlim区别小结》本文主要介绍了C#Semaphore与SemaphoreSlim区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、核心区别概览二、详细对比说明1.跨进程支持2.异步支持(关键区别!)3.性能差异4.API 差

C#中Trace.Assert的使用小结

《C#中Trace.Assert的使用小结》Trace.Assert是.NET中的运行时断言检查工具,用于验证代码中的关键条件,下面就来详细的介绍一下Trace.Assert的使用,具有一定的参考价值... 目录1、 什么是 Trace.Assert?1.1 最简单的比喻1.2 基本语法2、⚡ 工作原理3

C# IPAddress 和 IPEndPoint 类的使用小结

《C#IPAddress和IPEndPoint类的使用小结》本文主要介绍了C#IPAddress和IPEndPoint类的使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录一、核心作用网络编程基础类二、IPAddress 类详解三种初始化方式1. byte 数组初始化2. l

C++打印 vector的几种方法小结

《C++打印vector的几种方法小结》本文介绍了C++中遍历vector的几种方法,包括使用迭代器、auto关键字、typedef、计数器以及C++11引入的范围基础循环,具有一定的参考价值,感兴... 目录1. 使用迭代器2. 使用 auto (C++11) / typedef / type alias

C语言逗号运算符和逗号表达式的使用小结

《C语言逗号运算符和逗号表达式的使用小结》本文详细介绍了C语言中的逗号运算符和逗号表达式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 在C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接其一般形式为:表达

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js