游戏交互相关逻辑
游戏的交互有两种类型,分别是点击和滑动
点击的时候,点击相关的坐标位置作为唯一标准,进行传参,去拿到实体
对应的组件是这个
判断的先决条件,还有一个布尔,是否可移动
在前面生成球体的时候,已经把可以点击的球体,这个相关布尔,设置为true的了
先决条件满足之后,就是具体的业务逻辑了,先整一个最终点击的点,然后第二个点跟最终点击的点,进行比较,看是否可以消除(消除相关是后面的逻辑)
滑动的相关逻辑,如果被触发,是会有相关打印信息的 例如这里是向下滑动了一下
对应的是这个
这是游戏交互的逻辑脚本
更新函数,这里是触发点击交互的 参考Entitas——ReactiveSystem<Entity>
这里是滑动交互的 这里有一个相对复杂点的,嵌套 三元运算符
前面的打印提示也是在这里被触发
滑动的话,是根据前面业务逻辑,得到的方向,去进行x和y的相关处理
然后,还会有限制x和y的阈值范围,不会超出gameGameBoard的x和y的数量限制
这里是区域限制的,相关声明定义
而且只能是滑动一个
这个是设计思路流程图
回到点击的逻辑,这里前面的条件都满足,就会触发这个函数,分别是点击前后的两个元素
可以看到,函数内部,是修改了这个Index索引
然后,实体对应的view脚本,是这个
是有相关的监听
触发的监听函数,调用了DOMove函数,进行位置变更就好
所以,点击就可以换位置了,功能实现
继续补充设计思路,这里应该是需要整一个容器去存储
运动交换系统,是这个,然后在这里,初始化创建