当前位置: 首页 > news >正文

unity3d入门教程九

unity3d入门教程九

  • 20.2播放音频
  • 20.3在代码中播放
  • 21.1延时调用
  • 21.2invoke API
  • 21.3消息调用
  • 22.1交互界面
  • 22.2添加canvas
  • 22.3canavas的位置
  • 22.4添加text

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里给一个资源网站,可以部分免费下载,音乐和音效超多,支持检索
爱给网
https://www.aigei.com/music/

在unity显示为波形图,可以直接将音频拖入其中
在这里插入图片描述

以后会有专门的人员提供音乐等素材

我们一开始都是使用别人开发好的资源使用的

20.2播放音频

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1 检查有没有设置音频资源

2 Play On Awake 是否勾选

3 Game窗口上的 Mute Audio 不要禁止
在这里插入图片描述

不要选中Mute Audio 。如果按下去,则为 Mute 禁音。可以自己试一下。

20.3在代码中播放

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class MyPiano : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){if (Input.GetMouseButtonDown( 0 )){// 判断:鼠标是否点中当前物体Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);mousePos.z = 0;float distance = (mousePos - transform.position).magnitude;if(distance < 2 ){// 取得 AudioSource 组件AudioSource audio = GetComponent<AudioSource>();audio.Play();//if(! audio.isPlaying)//{//    audio.Play();//}//如果正在播放则停止,否则启动//if(audio.isPlaying)//{//    audio.Stop();//}//else//{//    audio.Play();//}}}}
}

在这里插入图片描述

另外一个api,一次性播放,新开一个播放,如射击游戏时的播放

多次点击,多次声音都会播出,产生叠加的效果

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class MyGun : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){if (Input.GetMouseButtonDown(0)){Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);mousePos.z = 0;float distance = (mousePos - transform.position).magnitude;if (distance < 2){                AudioSource audio = GetComponent<AudioSource>();audio.PlayOneShot(audio.clip);// audio.Play();}}}
}

21.1延时调用

在这里插入图片描述
在这里插入图片描述

using System.Collections;
using System.Collections.Generic;
using UnityEngine;/**  Unity游戏开发入门教程* *   作者: 邵发*   *   官网: http://afanihao.cn/game/index.html* */public class MyGirl : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){if(Input.GetMouseButtonDown(0)){Debug.Log("22 该去上班了 , time=" + Time.time);// Response();Invoke("Response", 3);}}// 应答void Response(){Debug.Log("知道啦!  time=" + Time.time);}
}

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

虽然自己可以计时,延迟时间再调用函数,但直接使用已有的延时函数就比较方便了

21.2invoke API

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

21.3消息调用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

MyGame using System.Collections;
using System.Collections.Generic;
using UnityEngine;/** Unity游戏开发入门教程* * 作者 : 邵发* */public class MyGame : MonoBehaviour
{// public int score = 0;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}public void AddScore(int value){this.score += value;Debug.Log("得分+1 ,当前总分=" + score);// ... 更新UI显示 ...}
}MyPet using System.Collections;
using System.Collections.Generic;
using UnityEngine;/** Unity游戏开发入门教程* * 作者 邵发* * 官网 http://afanihao.cn/game/index.html* */public class MyPet : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){// 判断:鼠标是否点中当前物体if(Input.GetMouseButtonDown(0)){Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);mousePos.z = 0;float distance = (mousePos - transform.position).magnitude;if (distance < 2){// 打中了// GameObject main = GameObject.Find("游戏主控");//MyGame myGame = main.GetComponent<MyGame>();//myGame.AddScore(1);GameObject main = GameObject.Find("游戏主控");// 在游戏主控节点上,遍历所有的脚本组件,看哪个脚本有AddScore方法,并执行这个方法main.SendMessage("AddScore", 1);}}}
}

22.1交互界面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

如上,按钮控件等不属于后面的游戏空间,无论其如何变化,按钮等操作都不会变化
在这里插入图片描述
在这里插入图片描述

22.2添加canvas

在这里插入图片描述
在这里插入图片描述

1 添加 Canvas
在 Hierarchy窗口,右键 GameObject | UI | Canvas
在这里插入图片描述

同时添加一个 Canvas ,和一个 EventSystem 事件系统管理器

2 指定 Canvas 的显式方式
选中 Canvas 节点,
在这里插入图片描述

Render Mode : 设为 Screen Space – Camera
Render Camera : 指向 Main Camera
Plane Distance :显示平面与摄像机的距离 ,设为 5
此时,Canvas 覆盖整个屏幕空间

3 添加 Text 文件控件
注意:所有 UGUI元素,都应该放在 Canvas 节点下面

右键选中 Canvas ,添加一个 Text 子节点 :
在这里插入图片描述

设置一下 Text 的属性,
在这里插入图片描述

Best Fit :自动调整字体大小,适应 Rect矩形框
Color : 文本的颜色

颜色选择时先外圈选择大致范围,再内圈进行精细调整

22.3canavas的位置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以在3D的效果下观察,游戏对象和canavas是不在同一平面的

22.4添加text

在这里插入图片描述

可新建目录font在此加入字体资源(),将字体资源拖入可以charactor可以改变字体的形式
在这里插入图片描述

相关文章:

unity3d入门教程九

unity3d入门教程九 20.2播放音频20.3在代码中播放21.1延时调用21.2invoke API21.3消息调用22.1交互界面22.2添加canvas22.3canavas的位置22.4添加text 这里给一个资源网站&#xff0c;可以部分免费下载&#xff0c;音乐和音效超多&#xff0c;支持检索 爱给网 https://www.aige…...

着色器 简介

着色器&#xff08;Shader&#xff09;是运行在 GPU 上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说&#xff0c;着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序&#xff0c;因为它们之间不能相互通信&#xff1b;它们之间…...

redis单点、主从、哨兵、集群的不同

redis哨兵模式有几个&#xff1a; 单点主从哨兵集群 区别 主从模式&#xff1a;读写分离。 哨兵模式&#xff1a;哨兵模式是在主从模式的基础上添加了故障检测和自动故障转移的功能。还是读写分离。 哨兵节点负责监控主节点和从节点的状态&#xff0c;并在主节点宕机时选举新…...

notepad++的json查看

json文件查看 因为接触到3dtile模型&#xff0c;所以经常需要和json打交道&#xff0c;但是很多模型是下面这种情况&#xff0c;不好阅读&#xff0c;所以可以使用notepad的插件查看 正常打开是这样的 加载notepad插件 搜索json下载安装就可以了 如果网络抽象&#xff0c;下载…...

基于无人机影像的可见光单木分割数据集-json格式

基于无人机影像的可见光单木分割数据集&#xff0c;共1700张影像&#xff0c;数据集大小3.6GB&#xff0c;分割标注采用标准json格式。 该数据集是一个专门用于基于无人机可见光影像进行单木分割的数据集&#xff0c;旨在帮助研究人员和开发者训练和评估基于深度学习的图像分割…...

毕业设计选题:基于ssm+vue+uniapp的捷邻小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…...

【毕业设计】基于 PHP 开发的社区交流系统

基于 PHP 开发的社区交流系统可以是一个论坛、博客平台或是问答网站等形式的在线平台&#xff0c;用于用户之间的互动交流。以下是一个简单的 PHP 社区交流系统的示例&#xff0c;包括用户注册、登录、发布帖子、回复帖子等功能。 技术栈 前端&#xff1a;HTML, CSS, JavaScr…...

RK3568 解决Ubuntu加载驱动模块报错以及开机启动如何自动加载模块

遇到问题是,当我在buildroot文件系统跑这个ko文件,是可以正常使用的,但是在Ubuntu上却跑不了,提示:insmod: ERROR: could not insert module analyze_inode.ko: Operation not permitted 参考其他博主的博客,其实只要添加sudo即可,可能是权限问题导致无法加载,这里记录…...

Fyne ( go跨平台GUI )中文文档-Fyne总览(二)

本文档注意参考官网(developer.fyne.io/) 编写, 只保留基本用法 go代码展示为Go 1.16 及更高版本, ide为goland2021.2​​​​​​​ 这是一个系列文章&#xff1a; Fyne ( go跨平台GUI )中文文档-入门(一)-CSDN博客 Fyne ( go跨平台GUI )中文文档-Fyne总览(二)-CSDN博客 Fyne…...

微服务常见面试题总结

文章目录 1 概念1.1 你对微服务是怎么理解的1.2 微服务带来了哪些挑战&#xff1f;1.3 说下微服务有哪些组件&#xff1f;&#x1f525; 2 注册中心2.1 注册中心有什么用&#xff1f;&#x1f525;2.2 SpringCloud可以选择哪些注册中心&#xff1f;2.3 说下Eureka 和 Nacos的区…...

汽车电子零部件(16):ZCU区域控制器

ZCU(Zone Control Unit,区域控制器),功能主要包括哦数据交互、信号控制及电力分配等,是智能网联汽车中不可或缺的关键组件,ECU负责车身、车门、车窗、天窗、车灯(外大灯、内氛围灯)、座椅(可能包括座椅音响)、雷达甚至后排娱乐系统等控制执行单元的集中化。 CCU(centr…...

如何在Java服务中实现数据一致性:事务与锁机制的综合应用

如何在Java服务中实现数据一致性&#xff1a;事务与锁机制的综合应用 大家好&#xff0c;我是微赚淘客返利系统3.0的小编&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在Java服务端开发中&#xff0c;确保数据一致性是构建稳定可靠系统的关键。尤…...

记录一下ElementUI 3 在浏览器导入, table表格显示问题

当时问题忘了截图, 现在通过文字记录一下问题 我直接在html了引入 vue3 和 ElementUI 3 , 使用了table组件, 但是表格的td 总是只显示一列, 问题是我的 el-table-column 标签 没有结束标签 , 在vue文件模块化里写不需要结束标签, 在浏览器里无法直接识别出来, 所以他是渲染了第…...

【JavaScript】数据结构之堆

什么是堆&#xff1f; 堆都能用树来表示&#xff0c;一般树的实现都是利用链表。而 二叉堆 是一种特殊的堆&#xff0c;它用完全二叉树来表示&#xff0c;却可以利用数组实现。平时使用最多的是二叉堆。二叉堆易于存储&#xff0c;并且便于索引。堆数据结构像树&#xff0c;但…...

工程车辆目标检测、程车检测算法、工程车辆类型检测算法

工程车检测算法主要用于智能交通系统、建筑工地管理、矿山开采、物流运输等领域&#xff0c;通过图像识别技术来检测和识别工程车&#xff0c;以提高安全管理、交通流量管理和资源调度的效率。以下是关于工程车检测算法的技术实现、应用场景及优势的详细介绍。 一、技术实现 工…...

【技术文章】ArcGIS Pro如何批量导出符号和工程样式?

目录 1.确定Pro软件版本 2.共享工程样式 3.管理和调用项目样式 制作好的地图&#xff0c;如何快速分享地图中的符号样式用于其它地图的制作&#xff1f; 在ArcMap软件中&#xff0c;可以通过命令一键批量导出所有符号。ArcGIS Pro软件是否也可以批量导出符号用于其它地图…...

javascript的闭包学习

为什么要产生闭包的概念&#xff0c;通俗来说一下。 公司有一个项目&#xff0c;分为两个部分&#xff0c;张三、李四各分配一个部分。 张三.js代码&#xff1a; var key我要吃肉 function fn(){console.log(key); } 李四.js代码&#xff1a; var key我要喝酒 function fn…...

JavaScript高级—— js 是单线程运行的

1、如何证明 js 执行时单线程的&#xff1f; ① setTimeout&#xff08;&#xff09;的回调函数是在主线程执行的 ② 定时器回调函数只有在运行栈中的代码全部执行完后才有可能执行 2、为什么 js 要用单线程模式&#xff0c;而不用多线程模式&#xff1f; ① JavaScript 的单…...

Java 微服务框架 HP-SOA v1.1.4

HP-SOA 功能完备&#xff0c;简单易用&#xff0c;高度可扩展的Java微服务框架。 项目主页 : https://www.oschina.net/p/hp-soa下载地址 : https://github.com/ldcsaa/hp-soa开发文档 : https://gitee.com/ldcsaa/hp-soa/blob/master/README.mdQQ Group: 44636872, 66390394…...

代码随想录Day 52|题目:101.孤岛的面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿

提示&#xff1a;DDU&#xff0c;供自己复习使用。欢迎大家前来讨论~ 文章目录 图论part03题目一&#xff1a;101.孤岛的总面积解题思路DFS**BFS** 题目二&#xff1a;102. 沉没孤岛解题思路 题目三&#xff1a;103. 水流问题解题思路优化 题目四&#xff1a;104.建造最大岛屿…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...

【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验

Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...

热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁

赛门铁克威胁猎手团队最新报告披露&#xff0c;数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据&#xff0c;严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能&#xff0c;但SEMR…...