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

无锡网站建设哪里好制作网页完整步骤代码

无锡网站建设哪里好,制作网页完整步骤代码,如何注册一家外贸公司,wordpress去掉自豪【Unity入门】脚本引用组件 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)脚本引用普通组件 (1)点击控制音频播放 还记得我们的车载音乐AudioSource吗?…

 

【Unity入门】脚本引用组件

    大家好,我是Lampard~~

    欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 

(一)脚本引用普通组件

(1)点击控制音频播放

    还记得我们的车载音乐AudioSource吗?之前我们给小车加了这个组件使之在游戏运行的时候可以播放BGM

    但是如果我们不想一开始就播放,想在某个时间(比如鼠标点击的时候)播放音乐,那这一步需要怎么做呢?

    这个过程需要分成三步:首先需要获取这个音乐AudioSource组件,然后建立鼠标监听事件,最后在点击事件的回调中执行播放BGM的操作,下面我们一步步实现

(2)GetComponent方法

    在脚本中获取当前物体其它挂载组件的方式,是通过一个叫GetComponent的方法

GetComponent() 是 Unity 中的一个方法,用于获取物体上的组件。它的语法如下:

```

GetComponent<ComponentType>()

```

其中,`ComponentType` 表示要获取的组件的类型

    因此我们想要获取AudioSource组件我们就可以这样写:

AudioSource audio = this.GetComponent<AudioSource>();

    播放的方法是audio.Play(),加上我们上节课学习的鼠标点击事件,完整的代码就是这个样子:

    if (Input.GetMouseButtonDown(0)){Debug.Log("播放背景音乐");AudioSource audio = this.GetComponent<AudioSource>();audio.Play();}

    在测试之前我们需要先在编译器把组件上的playOnAwake方法给取消勾选掉,因为本身组件是会默认播放的

    看看结果,没什么问题

     现在一直点击都是在一直在播放,我们可以加上这个逻辑,如果正在播放那就暂停播放,如果没有播放那就播放背景音乐

    if (Input.GetMouseButtonDown(0)){AudioSource audio = this.GetComponent<AudioSource>();if (audio.isPlaying){Debug.Log("停止播放音乐");audio.Stop();}else{Debug.Log("播放背景音乐");audio.Play();}}

(二)引用脚本组件

(1)在Main方法中获取小车的AudioSource组件

    比如我们现在不想在小车的脚本上控制音乐的是否播放,想在MainLogic中控制小车的音乐播放,那我们需要怎么做呢?

    很简单,只需要多做一步,先获取小车这个对象,然后执行再执行GetComponent方法就可以了。

    之前我们学过,获取一个对象方法有两种:一个是执行GameObject.Find方法

GameObject car = GameObject.Find("小车");

    或者定义一个全局游戏对象,在编译器把小车引用到对象中,这种方式会更可靠

     获得了小车之后执行小车的GetComponent方法就可以了

    if (Input.GetMouseButtonDown(0)){AudioSource audio = car.GetComponent<AudioSource>();if (audio.isPlaying){Debug.Log("停止播放音乐");audio.Stop();}else{Debug.Log("播放背景音乐");audio.Play();}}

(2)引用小车的脚本

    我们这样做虽然可以实现功能,但是就相当于把所有逻辑都放到Main代码里面写了,会非常耦合。播放背景音乐的逻辑应该还是放在小车的脚本上面,我们只不过是想在MainLogic中监听鼠标点击事件而已

    这样子,我们把播放音乐封装成一个小车的方法,写在小车的脚本中,然后在Mian监听鼠标点击事件,回调执行小车的方法

    public void PlayMusic(){AudioSource audio = this.GetComponent<AudioSource>();if (audio.isPlaying){Debug.Log("停止播放音乐");audio.Stop();}else{Debug.Log("播放背景音乐");audio.Play();}}

    在MainLogic中调用

    void Update(){if (Input.GetMouseButtonDown(0)){FirstLogic carLogic = car.GetComponent<FirstLogic>();carLogic.PlayMusic();}}

    可以看到脚本和普通组件并没有什么区别,同样的可以获取~

好啦今天就到这里,感谢阅读!!!
点赞,关注!!!

http://www.tj-hxxt.cn/news/80242.html

相关文章:

  • 互联网 现代农业网站建设seo怎么弄
  • 网站建设模板一次收费seo难不难
  • 学网站建设工作室高粱seo博客
  • 网站备案 做网站时就需要吗清远疫情防控措施
  • 做推广任务的网站有哪些深圳网络推广公司有哪些
  • 网站建设与维护成绩查询账号权重查询
  • 网站详情页用cdr做可以吗2024年新闻摘抄
  • 微信公众号授权给网站it培训机构排名及学费
  • 网站排名怎么弄网站定制设计
  • 政府网站建设怎么做深圳互联网营销
  • centos打开wordpressseo课程培训学校
  • 做网站图片太大好吗百度搜索百度
  • 做网站推广收入好吗google play下载安卓
  • 银川网站开发大丰seo排名
  • 在北京注册公司在哪个网站上企业推广网站
  • 上线了做网站要钱微信营销号
  • 经典设计网站促销方案
  • 企业 网站 设计系统优化是什么意思
  • 开发公司采购部工作流程广州 关于进一步优化
  • 沧州市网站在线seo推广软件
  • jsp动态网站开发实践教程(第2版)关键词排名查询工具
  • 网站制作用什么微信公众号推广网站
  • 一个人看手机在线视频有利于seo优化的是
  • 闵行区做网站公司公司网站如何推广
  • 微信扫码抢红包网站做seo关键词优化技术
  • 黄石做网站建设的手机优化什么意思
  • 做网站价格ihanshi网址收录大全
  • dz可以做视频网站吗营销型网站建设论文
  • 网站开发流程合肥网站排名
  • 网站建设发布教程个人做seo怎么赚钱