这一节我们主要学习游戏开发中的一种常用的工具---通知,也称事件。
之前提到过,通知可以理解为给别人发信息,这个过程需要有两方的参与,一个发送方,一个接收方。发送方负责发送通知,而接收方决定收到通知后该如何做。
发送的通知可以是“一对一”的,也可以是“一对多”的,就如同“单聊”和“群发”。
“通知”在游戏开发中会频繁的使用到,它是游戏世界中的物体间进行通信的最重要的方式。
理解了“通知”的概念,下面我们就直接上手,创建一个通知,并在两个物体间使用通知进行通信。
在最右侧的数据区中点击“新建通知”按钮。
在弹出框中为通知起个名字,这里给这个通知起名叫做“战机被点击”。然后点击“确定”。
观察数据区的通知部分,可以看到有一个叫做“战机被点击”的通知。
小提示:与变量一样,点击通知,左侧会出现红色的带减号的圆,点击它即可删除通知。
这样一个通知就创建好了,下面我们利用这个通知实现一个这样的功能:在游戏中增加一个数字用于显示战机被点击的次数。
整个流程是这样的,当我们点击战机时,战机会发送一个“战机被点击”的通知给数字,数字收到“战机被点击”的通知后,会将自己显示的数值增加1。
首先,我们为游戏添加一种新型的素材“数字”。顺便回顾一些,如何向游戏中导入素材。
在资源管理区,点击“添加素材”按钮。
在素材库中选择“积木小Y”,“白色数字”,然后点击“导入”按钮。
资源管理区中出现了“白色数字”资源,层级管理中出现了“白色数字”的层级,在编辑区中出现了白色的数字0。
接下来,我们先配置通知的发送者,即我们的“战机”。
在层级管理中选择“战机”,然后在积木区中点击“添加事件”按钮,选择“当精灵被点击时”事件。
积木区会增加一块这样的积木,它的意思是当游戏中我们的战机被点击时,我们就会接收到一个“当精灵被点击” 的通知,在接收到通知后我们需要做一些自己的处理。
请注意,在这里我们的战机作为的是通知的“接收方”,那么谁是发送方呢?管它呢,我们只关心战机被点击时,我们需要做什么。
接下来我们要做的事情是,选择积木区右侧的“控制”,然后将里面的“通知所有人战机被点击”的积木块拖拽到积木区,放到“当精灵被点击时”的积木块中。
像下面这样。
这里的通知默认是发给“所有人”的,但是我们只想发给游戏中的数字。点击“所有人”下拉框,选择白色数字->(场景1)白色数字。
最后看起来是这样,非常具有针对性的对“场景1中的白色数字”发送了一个“战机被点击”的通知。
小提示:“战机被点击”是我们之前在数据区中创建好的通知,你可以点击积木块上的“战机被点击”右侧的下拉按钮,切换其他已经创建的通知。
这样我们的“发送方”就配置好了,当我们在游戏中点击战机时,就会给“白色数字”发送一个“战机被点击”的通知。
点击“预览场景”,然后点击你的战机,看看发生了什么。
没有任何事情发生。。。
那是因为我们只是发送了通知,但是接收方对于通知还没有做出任何的响应。
下面,我们来配置一下接收方,增加一些响应。
在层级管理中选择“白色数字”,然后在积木区中点击“添加事件”按钮,选择“当收到通知”事件。
积木区中会增加一个这样的积木块。它的作用就是接收“战机被点击”的通知,类似于一根天线的功能。
接着我们要做一些处理,选择右侧的“外观”选项卡,然后将里面的“将自己的值增加1”的积木块拖拽到积木区中。
最终看起来是这个样子。它的意思是:当接收到“战机被点击”的通知后,我就把自己的值增加1,像“0,1,2,3,4,5,6......”进行计数。
接收方也配置好了,再次点击“预览场景”按钮,在游戏中点击“白色战机”,看一下白色数值是不是跟随着你的点击开始增加了。
回顾一下:
我们学习了通知的概念,在游戏中创建通知,并利用通知在游戏中的两个物体间进行了一对一的“通信”。
通知在游戏开发中使用的非常的频繁,如果你还不能完全理解的话,请继续下面的的练习:
- 当点击红色敌机时,白色数字减1。
- 当点击蓝色敌机时,白色数字减2。
没有系统性的学习课程和路线?自己学习没氛围学不下去?遇到问题无人帮助即时解答?缺少经验不知该如何前行?......欢迎加入小蚂蚁的游戏开发年度课程,不只是一门课,而是围绕着学习游戏开发有关的一整套服务。帮助你用一年的时间学会做游戏,做出自己的游戏,让游戏为你带来睡后收入。欢迎来跟一百多位同学一起学习做游戏,一起探索游戏的更多可能。【点击这里】可了解课程服务详情,【点击这里】可了解小蚂蚁能为你提供的其它课程和服务。
这里是小蚂蚁的部分小游戏,闲暇之余希望能给你带来片刻的放松和愉悦。无需下载安装,点击下方的游戏卡片就可以直接玩啦!
欢迎加个微信,交个朋友,朋友圈每日分享与做游戏有关的知识和内容,可以来围观。备注“学习做游戏”可免费领取原创的游戏开发教程资料大合集!非学员只接受付费咨询,不闲聊,望见谅。