ivx中制作垃圾分类小游戏的实现编程逻辑教程

评论906

最近垃圾分类这个概念很火,许多人都在朋友圈玩到过垃圾分类的h5。所以给大家提供了这种类型的小游戏的实现思路。

最后实现效果如下面这个动图所示,把垃圾拖动到垃圾桶上,垃圾桶会打开。拖走垃圾桶会关闭。拖动到正确的垃圾桶上可以把垃圾扔进去,拖到错误的会提示不要乱扔垃圾。扔完后提示已经答完题。这些逻辑就包括这个游戏的一些必要要素:

  1. 拖动垃圾错误处理
  2. 拖动垃圾正确处理
  3. 简易的动画效果
  4. 切换下一题
  5. 答题结束处理

大家可以根据这些要素拓展,制作自己的垃圾分类小游戏。比如可以加入音效,让垃圾桶打开关闭发出砰砰的声音。增加分数计算,最后根据分数结算,给出不同的反馈等。
ivx中制作垃圾分类小游戏的实现编程逻辑教程-图片1

这个小游戏的逻辑核心事件很简单,就是利用重叠判断垃圾与垃圾桶的接触。大家可以看到,在垃圾和 桶1下面各有一个矩形和圆形,实际上就是检测这两个图形之间的重叠。当两者重叠,说明垃圾被拖动到垃圾桶上方,然后我执行的动作是播放一个动效,然后用自定义属性status记录了被扔的垃圾桶。如果被拖走了(结束重叠),就把status设置为初始值0。

1,2,3,4分别代表了4个垃圾桶,那么后面我通过status就可以判断垃圾是被扔到哪个垃圾桶,从而判断是否正确。这一段动作主要是记录被扔的垃圾桶以及播放对应的动画。

ivx中制作垃圾分类小游戏的实现编程逻辑教程-图片2

接着在垃圾(zu)上来判断是否正确拖放垃圾来进行对应的操作。大家注意,在这个案例中,你需要把垃圾(zu)设置为可拖动的。然后在这里进行拖动垃圾桶分类正确的动作,以及分类错误的动作,切换下一个垃圾,答题结束的判断。

ivx中制作垃圾分类小游戏的实现编程逻辑教程-图片3

首先来看分类正确的执行动作:指针是我用来标示扔到第几个垃圾了,初始值为0。然后垃圾·值是一个二维数组,储存着我们要扔的垃圾。指针为0级代表我们现在扔的是数组第一行的垃圾(数组行号从0开始计算)。

如果当前对象(即垃圾(zu)),目前被扔的垃圾桶(status)和它应该被扔的垃圾桶(rightstatus)是一致的,说明我们扔对了。

那么我们把指针加一,也就是切换到下一个垃圾。同时,如果指针小于垃圾这个数组行数,说明垃圾还没被扔完,那么我们就把垃圾设置成下一个,然后让其可见。如果大于,说明已经扔完了,给个答题结束的提示。

ivx中制作垃圾分类小游戏的实现编程逻辑教程-图片4

那么如果扔错了怎么处理,那么给个1s的提示,提示结束后再让垃圾(zu)显示出来。

ivx中制作垃圾分类小游戏的实现编程逻辑教程-图片5

这就是完整的逻辑,一共只有两个事件,制作起来非常简单。大家可以根据这个实现思路去增加内容丰富这个小游戏。当然,这也只是其中一种实现思路,大家也可以使用自己的思路的来制作。

复制案例:https://editor.ivx.cn/ih5/app/template/download?id=470

预览链接:https://v4pre.h5sys.cn/play/NVaQT837