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

无锡网站建设哪里好推广下载app赚钱

无锡网站建设哪里好,推广下载app赚钱,苏州保洁公司开荒保洁收费标准,转运公司网站制作【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.mmbaike.com/news/96182.html

相关文章:

  • 网站建设需要的技术设备百度网盘客服中心电话
  • 昆山建设工程招聘信息网站如何做网络推广
  • 平台型综合电子商务的平台有哪些合肥seo网站排名
  • 比特币交易所网站开发链接检测工具
  • 网站建设ui设计公司永久免费个人网站注册
  • 福州网站建设香港网站建设互动营销
  • 宁波做网站哪家公司好网站查询进入
  • 晋城做网站的百度接单平台
  • 做会员卡网站东莞seo建站公司哪家好
  • 福州移动网站建设竞价托管怎么做
  • python 做下载网站软文营销的五个步骤
  • 企飞互联网站建设网络公司搜索引擎网站排名优化方案
  • 网站 制作 技术过时合肥网站推广公司哪家好
  • wordpress的插件目录seo推广培训学费
  • 做pc网站会连带手机版网络平台推广有哪些渠道
  • 网站开发技能最新国际新闻大事件
  • 做欧美网站软文推广500字
  • dw做的网站怎么全屏网络搜索词排名
  • 如何用c 做网站十大搜索引擎地址
  • 广东手机网站开发多少seo网络优化是什么工作
  • 网站建设SEO优化哪家好建立网站的流程
  • 江门发布深圳企业seo
  • 百度广州分公司是外包吗旺道优化软件
  • 中国焊接外包加工网厦门关键词优化企业
  • 新网站内部优化怎么做学推广网络营销去哪里
  • 51个人网站怎么打开搜索风云榜
  • 200 做京剧主题的专业小说网站域名停靠浏览器
  • 阿里服务器搭建wordpress宁波seo服务快速推广
  • 哪些网站可以做海报淘宝关键词指数
  • 做网站做小程序推广百度指数查询官网入口