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可以改变字体的形式
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/429368.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Arthas sysenv(查看JVM的环境变量)

文章目录 二、命令列表2.1 jvm相关命令2.1.5 sysenv&#xff08;查看JVM的环境变量&#xff09;举例1&#xff1a;sysenv 查看所有环境变量举例2&#xff1a;sysenv java.version 查看单个属性&#xff0c;支持通过tab补全 二、命令列表 2.1 jvm相关命令 2.1.5 sysenv&#x…

2.Seata 1.5.2 集成Springcloud-alibaba

一.Seata-server搭建已完成前提下 详见 Seata-server搭建 二.Springcloud 项目集成Seata 项目整体测试业务逻辑是创建订单后&#xff08;为了演示分布式事务&#xff0c;不做前置库存校验&#xff09;&#xff0c;再去扣减库存。库存不够的时候&#xff0c;创建的订单信息数…

开源 AI 智能名片 S2B2C 商城小程序与营销工具的快速迭代

摘要&#xff1a;本文以开源 AI 智能名片 S2B2C 商城小程序为研究对象&#xff0c;探讨在营销工具快速迭代的背景下&#xff0c;该小程序如何借鉴以拼多多为代表的“小程序拼团”、以蘑菇街为代表的“小程序直播”、以花点时间为代表的“小程序按月订花”等经典案例&#xff0c…

camtasia2024绿色免费安装包win+mac下载含2024最新激活密钥

Hey, hey, hey&#xff01;亲爱的各位小伙伴&#xff0c;今天我要给大家带来的是Camtasia2024中文版本&#xff0c;这款软件简直是视频制作爱好者的福音啊&#xff01; camtasia2024绿色免费安装包winmac下载&#xff0c;点击链接即可保存。 先说说这个版本新加的功能吧&#…

解密.bixi、.baxia勒索病毒:如何安全恢复被加密数据

导言 在数字化时代&#xff0c;数据安全已成为个人和企业面临的重大挑战之一。随着网络攻击手段的不断演进&#xff0c;勒索病毒的出现尤为引人关注。其中&#xff0c;.bixi、.baxia勒索病毒是一种新型的恶意软件&#xff0c;它通过加密用户的重要文件&#xff0c;迫使受害者支…

Linux,uboot,kernel启动流程,S5PV210芯片的启动流程,DRAM控制器初始化流程

一、S5PV210芯片的DRAM控制器介绍、初始化DDR的流程分析 1、DRAM的地址空间 1)从地址映射图可以知道&#xff0c;S5PV210有两个DRAM端口。 DRAM0的内存地址范围&#xff1a;0x20000000&#xff5e;0x3FFFFFFF&#xff08;512MB&#xff09;&#xff1b;DRAM1:的内存地址范围…

Node.js 学习

目录 1.Node.js入门 1.1 什么是 Node.js 1.2 fs模块-读写文件 1.3 path模块-路径处理 1.4 案例-压缩前端html 1.5 认识URL中的端口号 1.6 http模块-创建Web服务 1.7 案例-浏览时钟 2.Node.js 模块化 2.1 模块化简介 2.1.1 什么是模块化&#xff1f; 2.1.2 CommonJS…

BP神经网络

一、BP神经网络概述 BP神经网络由Rumelhard和McClelland于1986年提出的一种按照误差逆向传播算法训练的多层前馈神经网络。 从结构上讲&#xff0c;BP神经网络是一种典型的多层前向型神经网络&#xff0c;具有一个输入层input、数个隐含层hidden&#xff08;可以是一层&#xf…

【高级数据结构】树状数组

一、树状数组的介绍 1.思维导引 树状数组 ( B i n a r y I n d e x e d T r e e , B I T ) (Binary Indexed Tree,BIT) (BinaryIndexedTree,BIT)是利用数的二进制特征进行检索的一种树状的结构。 如何利用二分的思想高效地求前缀和? 如图 4.7 4.7 4.7所示, 以 A A A [ a …

C++初阶学习——探索STL奥秘——模拟实现list类

1、基本框架 list 由三个类构建而成: 节点类:每个节点必须的三部分(指向前一个节点的指针、指向后一个节点的指针、当前节点存储的数据) 迭代器类:此时的迭代器为双向迭代器&#xff0c;比较特殊&#xff0c;需要对其进行封装&#xff0c;如 it并非使迭代器单纯向后移动&…

BLE 设备丢包理解

前言 个人邮箱&#xff1a;zhangyixu02gmail.com在学习 BLE 过程中&#xff0c;总能听到 “丢包” 一词&#xff0c;但是我查阅资料又发现&#xff0c;有大佬说&#xff0c;ATT所有命令都是“必达”的&#xff0c;不存在所谓的“丢包”。而且我发现&#xff0c;在宣传 BLE 产品…

【如何在 Windows 10 主机上通过 VMware 安装 Windows 11 虚拟机,并共享主机网络】

环境说明 主机操作系统&#xff1a;Windows 10虚拟机操作系统&#xff1a;Windows 11虚拟机软件&#xff1a;VMware 步骤一&#xff1a;确保主机&#xff08;Windows 10&#xff09;网络连接正常 启动网络加速软件&#xff1a;在主机上启动软件&#xff0c;确保主机可以正常访…

分布式锁优化之 防死锁 及 过期时间的原子性保证(优化之设置锁的过期时间)

文章目录 1、AlbumInfoApiController --》testLock()2、AlbumInfoServiceImpl --》testLock()3、问题&#xff1a;可能会释放其他服务器的锁。 在Redis中设置一个名为lock的键&#xff0c;值为111&#xff0c;并且只有在该键不存在时才设置&#xff08;即获取锁&#xff09;。同…

Mistral AI 又又又开源了闭源企业级模型——Mistral-Small-Instruct-2409

就在不久前&#xff0c;Mistral 公司在开源了 Pixtral 12B 视觉多模态大模型之后&#xff0c;又开源了自家的企业级小型模型 Mistral-Small-Instruct-2409 &#xff08;22B&#xff09;&#xff0c;这是 Mistral AI 最新的企业级小型模型&#xff0c;是 Mistral Small v24.02 的…

【路径规划】自动泊车的 Simulink 模型

摘要 本文介绍了一个用于自主机器人路径规划和导航的 Simulink 模型&#xff0c;该模型结合了路径跟踪算法&#xff08;如 Pure Pursuit&#xff09;和动态机器人模型&#xff0c;实现了复杂环境中的路径跟随和导航控制。实验结果表明&#xff0c;模型能够在给定路径上精确控制…

QT快速安装使用指南

在Ubuntu 16.04上安装Qt可以通过多种方式进行。以下是使用Qt在线安装程序和apt包管理器的两种常见方法&#xff1a; 方法一&#xff1a;使用Qt在线安装程序 下载Qt在线安装程序 访问Qt官方网站&#xff1a;Try Qt | Develop Applications and Embedded Systems | Qt找到并下载…

初识ZYNQ——FPGA学习笔记15

一、ZYNQ简介 ZYNQ&#xff1a;Zynq-7000 All Programmable SoC&#xff08;APSoC&#xff09;&#xff0c;赛灵思公司&#xff08;AMD Xilinx&#xff09;推出的新一代全可编程片上系统 PS&#xff1a;Processing System&#xff0c;处理系统 PL&#xff1a;Program Logic&…

Linux:路径末尾加/和不加/的区别

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 普通文件操作 首先说明这个问题只会出现在目录和符号链接中&#xff0c;因为如果想要索引普通文件但却在路径末尾加/则会出现错误&#xff0c;如例1所示。 # 例1 zhang…

Zotero(7.0.5)+123云盘同步空间+Z-library=无限存储文献pdf/epub电子书等资料

选择123云盘作为存储介质的原因 原因1&#xff1a; zotero个人免费空间大小&#xff1a;300M&#xff0c;如果zotero云端也保存文献pdf资料则远远不够 原因2&#xff1a; 百度网盘同步文件空间大小&#xff1a;1G123云盘同步文件空间大小&#xff1a;10G 第一台电脑实施步骤…

Hadoop的一些高频面试题 --- hdfs、mapreduce以及yarn的面试题

文章目录 一、HDFS1、Hadoop的三大组成部分2、本地模式和伪分布模式的区别是什么3、什么是HDFS4、如何单独启动namenode5、hdfs的写入流程6、hdfs的读取流程7、hdfs为什么不能存储小文件8、secondaryNameNode的运行原理9、hadoop集群启动后离开安全模式的条件10、hdfs集群的开机…