3-3 其他贪吃蛇碰撞交互
好了!那么贪吃蛇和显示昵称都做好之后肯定就要来做检测触碰到其他贪吃蛇身体啦~。 先让我们分析一下应该怎么去制作碰到贪吃蛇身体检测, 我们可以让其他玩家的身体检测有没有碰到贪吃蛇角色的本体 也就是我们, 如果碰到了那么就代表碰到了(什,然后我们只需要让贪吃蛇本体重置一下就可以了, OK 理清逻辑之后那么就很好做了,首先我们回到其他贪吃蛇身体的代码:
我们新建一个变量用来通知本体是否撞上了:
如果碰到贪吃蛇的本体 那么就将碰头变量设为1:
然后我们来到检测贪吃蛇是否碰到地图边缘的自定义积木里面。 没错,我们直接把这个积木改一下让他侦测地图边缘的同时侦测一下变量就可以了~, 那我们首先可以将这个函数的名字改一下:
改为 检测贪吃蛇是否被击败 就可以了:
如果 碰头变量=1 或者 碰到地图边缘,那么就重置数据并将变量重新设为0。 好!这样我们就成功的会被制作了玩家碰到其他玩家的身体会被击败了。 那么接下来我们再顺手做一下击败数这个概念~ 以及如果击败其他玩家播放音效的功能:
首先我们创建一个新的变量叫做 击败数:
我们在刚开始的时候将他设为0 也就是初始化一下:
那么我们应该怎么去做能让其他玩家被我们击败然后来通知我们呢?
这个时候就要用到MMO的广播消息了~ 那么MMO广播是什么呢:
这就是MMO广播 其他玩家将消息发送给MMO服务器 然后MMO服务器再通过广播的方式发送给我们。 然后我们先回到这里:
我们广播一个消息类型为 die 的广播并且附带内容为 该克隆体对应的玩家ID:
然后我们拖出当接收到MMO消息时:
然后我们添加一个音效当做击败音效:
如果消息内容等于我们的ID的话那么就将击败数增加一然后播放一个音效就可以啦~
<iframe
width="100%"
height="800px"
scrolling="no"
src="https://www.ccw.site/embed?id=snake/mckuke/Lec3/04&type=comment"
title="贪吃蛇中级教程-第三课第三节"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowFullScreen
scrolling="0"
></iframe>
本页索引