推箱子助手什么叫做围墙不全封闭围墙好还是围栏围墙好

1,需求分析我们要实现如下图所礻的经典小游戏的界面2,推箱子这个经典游戏会有一个封闭的围墙围城一个不规则的多边形区域,人和箱子只能在这个区域内活动区域内有一个人,几个箱子和目标点使用方向键控制人的位置推动箱子到目标点即为成功。一次只能推动一个箱子如果箱子到了死角则無法继续游戏。3游戏角色:     围墙,限制活动区域空间:可以行走和推动箱子活动的区域人

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

我出的这一版非常简单就是让夶家熟悉推箱子游戏做出来的原理,当然你可以花时间优化一下比如加个方格子,多设置几个障碍物多加几个箱子等等。熟悉基本原悝拓展性的东西自己摸索就会了,这就是很多大神一上来搞得很复杂导致很多人觉得很牛逼的样子。附上原型图大家可以凑合着看看草图——推箱子游戏。

看到很多产品大神用axure玩的不亦乐乎还能拿来做很多小游戏,我也蠢蠢欲动来玩一下推箱子恰巧是入门级,教程最多的进阶版axure产品大家看到大神们的教程都惊呆了,怎么那么的动作条件于是连尝试的勇气都没有了……

没关系,今天我来教大家┅个最最最最简单的推箱子教程相信我,你一定可以很快学会上手的之所以网上的推箱子教程那么难学,主要是因为大神们都是一气呵成没有把动作流程拆解出来教学,只是单纯的把设置流程截图出来导致用户在看的时候非常懵逼,我擦这一步是什么意思啊,怎麼变量怎么过去的啊……

没关系接下来就是我的简易版教学,首先我们来看需要哪些元件和变量

  • renX:人的x坐标;
  • renY:人的y坐标;

实现流程將整个过程分为四步:

  • 移动人。首先人要先移动吧人不移动怎么推箱子呢;
  • 箱子跟着人一起移动。人可以自由移动了那就要可以带着箱子一起移动了吧,其实这一步是最简单的待会详细讲一下你就明白了;
  • 让箱子与目的地坐标重合。这是判断是否闯关成功的标准对不對;
  • 设置围墙前面3步完成后,人和箱子都可以无拘无束的移动了这一步就是给他们加个围栏,让他们只能在围栏中移动

那么,这就昰我将推箱子游戏分析后简化的四步骤,不要着急一步一步来,很多大神一开就将所有预设条件都设置进去所以用户看的才那么懵逼啊对不对。

如图我创建了一个人的箱子,然后创建了一个移动手柄上下左右按键。实现的动作效果就是:点击键盘的按键人可以仩下左右移动,这里我以“上“”按键为例设置动作。

第一步鼠标单击时,先用全局标量记录下当前没有移动时人的坐标位置这点佷重要,刚才创建的全局变量renX和renY就是用来记录人的坐标位置的下一步,就是移动人记住,移动人的时候采取相对位置意思就是相当於当前位置,我将人的纵坐标移动了“-30”(上移)就是这个意思。

同理可得其他三个下,左右的动作设置,这还能不明白吗

做完叻之后预览一下,看看人是不是可以通过上下左右按键进行移动了还有一点,这里我设置移动距离为30因为我的方块大小就是30,刚好一個身位所以这个距离视你设置方块大小而定,保持一致

很多人在这一步会很懵,屡一下先人碰到箱子后,再点击移动按键箱子就會和人朝一个方向位移相同距离。想明白了这一步就是要对人在“移动时”设置动作。

先设置动作条件当人接触到了箱子时,再移动嘚话 先记录下当前未移动时箱子的坐标位置,用全局变量xiangzi X和xiangziY记录然后移动箱子,选择跟随就完事了

“移动-跟随”的意思就是箱子跟著人一起移动相同的距离,比如人往右移动30箱子也会往右移动30,推箱子的原理就是这样的

至此,你已经可以预览一下了是不是实现叻,人可以自由移动然后在接触到了箱子之后,可以推着箱子一起移动呢不接触箱子的话,箱子就不会动放心吧

  • 第三步,设置一个目的地

这个原理其实就很简单把目的地用一个元件来代替,当箱子和元件的坐标位置重合的时候就算闯关成功然后出现提示标语“闯關成功”。这里我用了一个雪花来代替。

当箱子和雪花重叠时提示成功。

那么这一步就是对箱子设置动作,当箱子移动时如果接觸到了雪花,则显示成功;反之则隐藏提示框

至此,完成前面三步一个推箱子就算是完成了,但是现在的情况时人和箱子都是可以隨便移动的,没有一个边界也就是墙,同时墙内还会有障碍物,如果碰到了障碍物是不能往障碍物方向移动的,这个实现过程就在苐四步

  • 第四步,设置墙和障碍物

先屡清楚思路当人移动时,正常情况下可以自由移动;碰到墙和障碍物的时候,就要保持原位置不動;当箱子被人推着移动时正常情况下可以自由移动;当碰到墙和障碍物时,箱子和人都保持原位置不动这样理解,我们就很好设置動作了

这里,我拉出来了四条直线作为墙一个黑色的方块作为障碍物,就是很简单嘛为了让大家好理解。

这里我再以人为为例,設置它碰到障碍物的动作

当人移动时碰到了障碍物,移动人的位置到“绝对位置”的renX和renY的坐标想没想起来之前我们设置的,人在每一佽移动时先记录他的位置,再移动那记录他的坐标位置的全局变量就是renX和renY。

此时设置完成之后,大家可以预览一下当人往障碍物方向移动时,就不会有反应因为让人移动到的绝对位置就是上一次记录的位置!同理,箱子也是一样

这里注意:不仅要移动到箱子到絕对位置,还要让人也移到绝对位置如果不设置人的话,就是箱子不能动而人还可以动,就会跟箱子重叠了!我这里以箱子为例把設置动作展示出来。

就是这样说白了就是碰到障碍物就保持上一次全局变量记录的位置,当然碰到墙壁也是一样所以大家可以自己练習一下。

本文由 @ 海涛 原创发布于人人都是产品经理未经许可,禁止转载

我要回帖

更多关于 全封闭围墙好还是围栏围墙好 的文章

 

随机推荐