本篇我们讲解一下马里奥项目设计中马里奥遇到怪物时各种功能的实现。
首先在背景中先上传怪物角色,然后把怪物的造型添加进去。上一篇我们讲过通过控制水平坐标可以让怪物在一段固定的坐标范围内来回行走。
马里奥遇到怪物有三种情况。第一种踩死怪物,第二种马里奥死亡,可以通过判断马里奥和怪物接触是两者x坐标的差值。需要自己去设置一个值,比如这个值为5,当两者之间x坐标的差值的绝对值小于5时,判断马里奥踩死了怪物,否者马里奥死亡,当然这个值不是随便设置的。我们设置的值肯定要小于马里奥和怪物刚接触时两者x坐标的差值,否者的话可能一触碰就会判定被踩死,这样不准确。
第三种马里奥变小,这种情况的前提是马里奥吃了太阳花变大了,当他第一次接触到怪物时先变到原来的大小,再接触时就死亡。如何实现吃太阳花我们后边会讲。当马里奥吃到太阳花后,需要太阳花发送一条广播,然后马里奥接收到这条广播后,重置马里奥的大小,这样就实现了马里奥变大的效果。同时怪物也会接收到马里奥变大的广播,当马里奥接触到怪物时,让怪物发送一条广播,马里奥接收到怪物的广播后重新再设置大小。
这是怪物发送的广播:
这是吃到太阳花的代码: