(一)思路

首先大家要搞清楚方块在地图中显示的原理,是根据定位点,把B数组中的元素,映射到地图A数组里面去

移动则是改变定位点的位置,实际上没有任何东西在移动,仅仅是改变定位点的位置

因为由于定位点坐标已知,那么可以计算出B数组映射在A的中范围,同时遍历B数组,如果B中为0就设置A中相同位置也为0,反之则为1即可

如果设定位点坐标为(a,b),那么A中的范围可以表示为a<=X<=a+3,b-3<=Y<=b

(二)显示方块

LocPoint

如果上面的思路清晰了,很显然首先要一个变量存储定位点坐标,打开之前的MyPlayerController蓝图,添加一个整型数组变量,并添加两个元素并设置默认值,0号元素表示x设置成4,1号元素表示y设置成3

下一步定义是要根据条件,设置A数组,最后达到显示方块的功能

需要满足两个条件后再设置A的值为1

IsLoc

第一个条件要缩小范围到以定位点确定的16个格子中,点上纯虚函数,XY表示A的坐标

第二个条件要满足,A中的格子为0,B中对应格子元素为1

IsAandBbothEqual

最后创建一个函数

SetAbyCondition

这里的setAbyIndex的输入值和前面不一样是因为我增加了一个局部变量,更方便一点

好了,最后到事件图表中,把刚才的函数拖到ShowMap之前,设置好rowname的值为1,就可以看效果了

(三)移动方块

控制的方法有很多,这里就用最快的ASD来实现进行左下右移动吧

先弄出这三个键(在搜索列表的很下面),再设置LocPoint的X或Y,设置A,最后显示地图

目前得到的结果大概是这个样子,方块是移动了,新的方块也显示了,但原来的方块并没有隐藏

解决办法很简单,我们只需要在设置A之前,把整个地图A中的1先删掉,暂时就可以了

(四)刷新地图

ReFlashMap

新建一个函数,调用遍历A宏进行判断后设置A的值为0即可

很显然的是,前面创建的宏和一些函数,为我们节省了相当多的空间和时间,不过现在你会发现你的方块可以移动到围墙之外去,这是不允许的,我们会在后面解决这个问题

(蓝图)虚幻4重制俄罗斯方块(四)移动方块相关推荐

  1. Axure 9 实战案例,动态面板的应用 4.1,省市区三级联动下拉菜单(重制简易版)

    前言 Hello!欢迎来到Axure 9 实战案例教程专栏. 本次课程我们继续来学习一下,动态面板的应用.本篇我们来讲解一下,如何绘制省市区联动下拉菜单(重新撰写简易版). 下拉菜单初稿 为了节省时间 ...

  2. Xamarin.Forms之UserDialogs 重制版本

    在 forms 里面,目前使用比较多的弹出组件是 Acr.UserDialogs ,但是这个组件有些小问题,比如 loading .hide 会同时把 toast 给一起关掉,android 下的 t ...

  3. ue4 怎么传递变量到另一个蓝图_[UE4蓝图]虚幻4中实现简易天气系统(三)—— 受风力影响的Cascade雨水粒子...

    上一篇: 架狙只打脚:[UE4蓝图]虚幻4中实现简易天气系统(二)-- 随机风力​zhuanlan.zhihu.com Cascade就是现在UE4中正在使用的ParticleSystem. 制作雨水 ...

  4. 暗黑2 计算机中丢失,《暗黑破坏神2》部分源代码丢失不是事 暴雪照样重制

    2019年<暗黑破坏神>之父Max Schaefer曾表示他们丢失了<暗黑破坏神2>部分源代码,还有开发资料,艺术文档等.这是不可挽回的.致命的崩坏.暴雪将很难去重制一个< ...

  5. 2019/4/2更新 重制3617-6.17 增加918+6.21 二合一引导启动系统盘

    强烈推荐用小固态,不要用U盘,U盘容易出现错误.现在各种矿山倒塌,矿车一大堆,都带有16G的小固态或者msata之类的,刚好可以利用上. DS3617xs-6.17up3(重制UEFI版)介绍: 1. ...

  6. macbook系统占用硬盘大_解决macos双系统情况下重制macos系统导致windows系统盘一直占用的情况...

    由于mac的系统里面文件太多,又懒得整理就直接重制整个系统了,但是在重制的时候忘了件大事,我是双系统,还单独装了个windows10,刚刚重制完突然才想起还有个win10,这下觉得出大事了..心想占用 ...

  7. 数据库难点:脏读、幻读、不可重复读与四种隔离级别

    目录 前言 一.什么是事务? 二.事务的ACID特性 (1)原子性 (2)一致性 (3)隔离性 (4)持久性 三.何为脏读,幻读,不可重复读? 四.四种隔离级别 前言 本章着重点是介绍:出现脏读.幻读 ...

  8. Ardupilot -- APM源码笔记(重制)~序言

    首先,本篇不会涉及到源码方面的解读跟指导,只是为了后续章节做一些说明,并讲讲写下这些博文的原因 说起无人机的话,应该很多人会想到大疆.亿航这些商业巨头,这样的产业能发展起来也跟无人机代码开源有关.从微 ...

  9. 粉丝用开源游戏引擎重制超级马里奥 64

    <超级马里奥64>的忠实粉丝Aryok Piñera正利用开源游戏引擎Blender Game Engine重制游戏.Blender Game Engine是 开源3D绘图软件Blende ...

  10. 重学Java(四):操作符

    之前我写了一篇<重学Java(四):对象.引用.堆.栈.堆栈>,本以为凭借自己8年的Java编程经验足够把这些"吃人"的Java名词解释清楚了,但有网友不以为然,在文章 ...

最新文章

  1. 【GDKOI2016Day1T1-魔卡少女】【拆位】线段树维护区间内所有连续子区间的异或和...
  2. HDFS 常用操作分类汇总整理
  3. 男人的快乐可以多简单?
  4. CRISPR基因编辑
  5. 在Windows10上安装WSL使用binwalk命令
  6. 微信公众开放平台开发08---纯java 实现微信开发:编写自定义菜单
  7. SAP soamanager发布的Webservice服务,调用时出现http500报错
  8. SpringMVC实现AJax以及RestFull风格
  9. MySQL全量备份和增量备份脚本
  10. linux比较两个文件的内容,[Linux] 使用awk比较两个文件的内容
  11. Spring揭秘-笔记
  12. 将voc2007数据集转换成yolo格式的数据集
  13. 破解隔壁wifi的实践——网络攻击,抓取握手包,解包
  14. python 字典类型 get 参数_python如何利用urllib解析url参数成字典
  15. 雷云云服务器文件夹,配置文件云存储 雷蛇Synapse2.0_雷蛇鼠标_键鼠评测-中关村在线...
  16. 【Python】数据处理之One-Hot编码
  17. 解析阿里“聚石塔”产品
  18. 如何对计算机进行磁盘整理,碎片整理,详细教您怎样进行磁盘碎片整理
  19. Required request body is missing:ParameterException解决方法
  20. Android Studio中使用android:src=quot;@drawable/ic_launcherquot;报错

热门文章

  1. 设计模式-模板方法模式
  2. 20191009 csp-s模拟T3(并查集)
  3. 物联网——WIFI热点配网
  4. 游戏王计算机兽,召唤兽(游戏王卡组系列)_百度百科
  5. 天池- IJCAI-18 阿里妈妈搜索广告转化预测(完整版代码,数据集等总结)
  6. 12、Urban Radiance Fields
  7. 《虎胆龙威5》效果评论
  8. matlab保存pgm图形,pgm格式文件及其在matlab中的读取存储方法(1)
  9. 小米商城项目api接口编写日志
  10. 深入理解Character Region Awareness for Text Detection (CRAFT)