(蓝图)虚幻4重制俄罗斯方块(四)移动方块
(一)思路
首先大家要搞清楚方块在地图中显示的原理,是根据定位点,把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重制俄罗斯方块(四)移动方块相关推荐
- Axure 9 实战案例,动态面板的应用 4.1,省市区三级联动下拉菜单(重制简易版)
前言 Hello!欢迎来到Axure 9 实战案例教程专栏. 本次课程我们继续来学习一下,动态面板的应用.本篇我们来讲解一下,如何绘制省市区联动下拉菜单(重新撰写简易版). 下拉菜单初稿 为了节省时间 ...
- Xamarin.Forms之UserDialogs 重制版本
在 forms 里面,目前使用比较多的弹出组件是 Acr.UserDialogs ,但是这个组件有些小问题,比如 loading .hide 会同时把 toast 给一起关掉,android 下的 t ...
- ue4 怎么传递变量到另一个蓝图_[UE4蓝图]虚幻4中实现简易天气系统(三)—— 受风力影响的Cascade雨水粒子...
上一篇: 架狙只打脚:[UE4蓝图]虚幻4中实现简易天气系统(二)-- 随机风力zhuanlan.zhihu.com Cascade就是现在UE4中正在使用的ParticleSystem. 制作雨水 ...
- 暗黑2 计算机中丢失,《暗黑破坏神2》部分源代码丢失不是事 暴雪照样重制
2019年<暗黑破坏神>之父Max Schaefer曾表示他们丢失了<暗黑破坏神2>部分源代码,还有开发资料,艺术文档等.这是不可挽回的.致命的崩坏.暴雪将很难去重制一个< ...
- 2019/4/2更新 重制3617-6.17 增加918+6.21 二合一引导启动系统盘
强烈推荐用小固态,不要用U盘,U盘容易出现错误.现在各种矿山倒塌,矿车一大堆,都带有16G的小固态或者msata之类的,刚好可以利用上. DS3617xs-6.17up3(重制UEFI版)介绍: 1. ...
- macbook系统占用硬盘大_解决macos双系统情况下重制macos系统导致windows系统盘一直占用的情况...
由于mac的系统里面文件太多,又懒得整理就直接重制整个系统了,但是在重制的时候忘了件大事,我是双系统,还单独装了个windows10,刚刚重制完突然才想起还有个win10,这下觉得出大事了..心想占用 ...
- 数据库难点:脏读、幻读、不可重复读与四种隔离级别
目录 前言 一.什么是事务? 二.事务的ACID特性 (1)原子性 (2)一致性 (3)隔离性 (4)持久性 三.何为脏读,幻读,不可重复读? 四.四种隔离级别 前言 本章着重点是介绍:出现脏读.幻读 ...
- Ardupilot -- APM源码笔记(重制)~序言
首先,本篇不会涉及到源码方面的解读跟指导,只是为了后续章节做一些说明,并讲讲写下这些博文的原因 说起无人机的话,应该很多人会想到大疆.亿航这些商业巨头,这样的产业能发展起来也跟无人机代码开源有关.从微 ...
- 粉丝用开源游戏引擎重制超级马里奥 64
<超级马里奥64>的忠实粉丝Aryok Piñera正利用开源游戏引擎Blender Game Engine重制游戏.Blender Game Engine是 开源3D绘图软件Blende ...
- 重学Java(四):操作符
之前我写了一篇<重学Java(四):对象.引用.堆.栈.堆栈>,本以为凭借自己8年的Java编程经验足够把这些"吃人"的Java名词解释清楚了,但有网友不以为然,在文章 ...
最新文章
- 【GDKOI2016Day1T1-魔卡少女】【拆位】线段树维护区间内所有连续子区间的异或和...
- HDFS 常用操作分类汇总整理
- 男人的快乐可以多简单?
- CRISPR基因编辑
- 在Windows10上安装WSL使用binwalk命令
- 微信公众开放平台开发08---纯java 实现微信开发:编写自定义菜单
- SAP soamanager发布的Webservice服务,调用时出现http500报错
- SpringMVC实现AJax以及RestFull风格
- MySQL全量备份和增量备份脚本
- linux比较两个文件的内容,[Linux] 使用awk比较两个文件的内容
- Spring揭秘-笔记
- 将voc2007数据集转换成yolo格式的数据集
- 破解隔壁wifi的实践——网络攻击,抓取握手包,解包
- python 字典类型 get 参数_python如何利用urllib解析url参数成字典
- 雷云云服务器文件夹,配置文件云存储 雷蛇Synapse2.0_雷蛇鼠标_键鼠评测-中关村在线...
- 【Python】数据处理之One-Hot编码
- 解析阿里“聚石塔”产品
- 如何对计算机进行磁盘整理,碎片整理,详细教您怎样进行磁盘碎片整理
- Required request body is missing:ParameterException解决方法
- Android Studio中使用android:src=quot;@drawable/ic_launcherquot;报错
热门文章
- 设计模式-模板方法模式
- 20191009 csp-s模拟T3(并查集)
- 物联网——WIFI热点配网
- 游戏王计算机兽,召唤兽(游戏王卡组系列)_百度百科
- 天池- IJCAI-18 阿里妈妈搜索广告转化预测(完整版代码,数据集等总结)
- 12、Urban Radiance Fields
- 《虎胆龙威5》效果评论
- matlab保存pgm图形,pgm格式文件及其在matlab中的读取存储方法(1)
- 小米商城项目api接口编写日志
- 深入理解Character Region Awareness for Text Detection (CRAFT)