童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

玩转中继器九宫格拼图的实现原理

5月5日 龙凤殿投稿
  今天带给大家的案例是使用Axure7。0(当然8。0也是可以的)制作一个九宫格拼图原型。不过本文只讲述实现原理,不讲述具体实现步骤,希望小伙伴们能了解思路并自己动手去实践,因为思考的过程才是最好的学习过程。
  这个案例已经构思了很长时间,中间因为没有思路便放下了一段时间,前几天有朋友问我能否制作一个九宫格拼图的原型,于是又重新思考起来。这个原型最烧脑的地方就是图片移动逻辑的实现,因为只有空位周边的图片才可以将其移动到空位上。另外,这个原型有一个无解的BUG,为了实现图片的随机排列,导致了有时候生成的随机图片无法复原,也就是无论如何都拼不好,不过这种情况是随机出现的,有时候也是可以拼好的。
  话说何为九宫格拼图?不说你已经懂了!
  预览地址:http:raedme。cnaxurelab010jiugongpintu
  实现原理
  好了,接下来就为大家解析一下这个拼图原型的实现原理(后文较为枯燥,阅读请谨慎)。
  首先,是点击图片可以将图片移动到临近空白区域的原理。下面我借助一个模型来讲。
  这是一个九宫格,在本案例中,九宫格我使用中继器来实现。九宫格中A、B、C、D、E、F、G、H分别代表八张图片,0代表空白区域。此时,可以将图片H或者图片F移动到0位置,对应的H或F位置变成空白区域0。之后再点击和0相邻的图片,遵循相同的移动原理。
  那么问题来了,如何判断我点击的图片相邻位置有一个空白区域,可以将该图片移动到空白区域?此问题是该案例的核心问题,那么我接着用一个模型来给大家讲解。
  在这个图中,我为九宫格中的每个区域加一个坐标,用(x,y)来表示,这一步是实现该原型的关键步骤。然后我们来分析一下每个区域之间坐标的关系。
  比如F区和0区之间的关系,H区和0区之间的关系,其实就是空白区域和它相邻四周的区域的坐标关系。我们可以任意假设一个区域为空白区域,然后分析它上侧、下侧、左侧、右侧区域的(x,y)坐标。经过分析之后,我们可以得出一个结论。
  可以用一个表达式来表达:
  0。x相邻区域。x0。y相邻区域。y1
  翻译一下就是:0区域的x值减去相邻区域的x值的绝对值加上0区域的y值减去相邻区域的y值的绝对值等于1。反过来推也成立,就是如果两个区域的(x,y)坐标分别求差的绝对值然后再相加等于1的话,那么这两个区域一定是相邻的区域。
  通过以上逻辑,我们可以判断相邻区域(上下相邻or左右相邻),这非常重要。然后我们再判断一下相邻区域的其中一个是否为空白区域,如果是空白区域,那么点击另一个区域的时候,就可以将其移动到相邻的空白区域;如果不是空白区域,那么点击无效。
  举例说明:
  当我点击H区域的时候,首先要寻找它的相邻区域,通过前面介绍的表达式(0。x相邻区域。x0。y相邻区域。y1)我们可以得到H区域的相邻区域为E、G、0(不要说你一看就知道,你一看就知道,但是中继器在运行的时候是不知道的,只能通过逻辑判断来获得)。
  然后再判断这些相邻区域中是否有一个区域是空白区域,这个我们可以通过给中继器的数据集中加上一个标记字段来标记空白区域,这一步的实现较为简单。
  这个例子中可以得知空白区域是0,因此可以将H移动到0区域。
  如果点击的区域是E,那么其相邻的4个区域中就找不到空白区域,因此点击区域E就不会发生移动。
  好了,基于以上逻辑,就可以实现九宫格拼图的核心功能了点击图片移动到相邻的空白的区域,如果相邻没有空白区域,就不移动。
  但是接下来还有另外一件事情就是,如何使拼图图片可以随机排列,并且每次原型载入时排列的顺序都不一样。
  这一效果的实现我在以前的案例中都有讲过,可以通过给中继器的数据集增加一个排序字段,然后给排序字段赋值为随机数,之后为中继器增加排序。因为每次中继器数据集中的每行数据的排序字段的值都不一样,所以每次排序的结果会不一样。但是在本案例中需要考虑到要把空白区域始终排在最末尾,因此该数据项的排序字段需要做一个特殊的处理。
  到这里九宫格拼图的主要实现逻辑就讲完了,不知道小伙伴们能否看得懂。具体的实现步骤,小伙伴们勇敢的去探索吧。
投诉 评论 转载

玩转中继器九宫格拼图的实现原理今天带给大家的案例是使用Axure7。0(当然8。0也是可以的)制作一个九宫格拼图原型。不过本文只讲述实现原理,不讲述具体实现步骤,希望小伙伴们能了解思路并自己动手去实践,因为……Axure教程购物车商品增减删除练习看了前面几位大神发的中继器的九宫格啥的,我只能说:请收下我的膝盖!中继器我也就初级水平,就不献丑了,还是给大家分享点我这水平能够做到的东西,希望大家表喷我,多给我鼓励鼓励~撒浪……Axure教程抓阄小游戏演示案例我们生活中经常会遇到需要通过抓阄(或抽签)来做决定的问题。有些问题甚至上升到世界难题的高度,比如今晚吃什么,比如和对象如何分配家务活。今天手把手教你用Axure来设计这样一款居……Axure8。0教程:模拟手机端纵向滑动的效果axure8。0出了这么久了,在不久前出了正式版,正式版相对于测试版,相对稳定了好多。然而8。0相对于7。0在功能上又丰富了好多,主要增加了对设计这一块的功能,对于一些要求不是……Axure教程Axure8旋转功能应用幸运大转盘大转盘活动在各种抽奖的活动场景中出现,游戏活动简单直观。在axure8中,我们欣喜地看到提供了一些非常实现的动作,如旋转、设置大小、设置透明度等。今天我们详细介绍一……移动APP设计入门级:真实的前后端原型长啥样?只会画功能原型图的不是产品经理,不过产品经理如果不会画原型那战斗力也是打了不少折扣,不仅仅因为原型是对功能展示上的设计,更由于产品原型实际是用户实际需求、业务流程、系统规范等多……工作效率系列如何制作交互组件库曾几何时,每次交互稿都是徒手画,或者截个图在现有的界面上改造。渐渐感到同一平台,每个版本都有很多重复劳动,是时候做个交互组件库了什么是组件库?就是类似axure左侧……Axure8。0教程制作机械时钟这次带给大家的案例是基于AxureRP8。0,利用了8。0所特有的新功能旋转。随着对RP8。0的了解,我是越来越喜欢这个版本,尤其是这个新增的的“旋转”功能,绝对是我做原型时的……Axure版本管理正确姿势:如何通过SVN进行协同设计产品开发当中,我们很多时候代码和部分文档都有svn或者git工具进行管理,但是原型文件其实也需要很好的管理,特别是2个人以上对同一个rp文件进行频繁修改,没有版本管理将非常痛苦……AxureRP8新功能和优化实践我结合我的设计工作,来讲一下Axure8改进和新增功能:1。画板区:我的电脑是13寸的,画板区希望越大越好,因些我把电脑分辨率调到最小,新的8整体界面的区……Axure教程聊一聊原型组件化设计从淘宝购物车按钮说起axure提供的组件库,给原型设计人员带了极大的方便。问题是axure本身提供的是最常用、最基础的一些组件,对于一些复杂的组件,或者比较个性化的组件,例如幻灯片效果的图片轮询,……Axure8。0教程实现环形动态进度条Hello大家好,话说AxureRP8。0正式版已经发布有一段时间了,不知道小伙伴们是不是已经升级了呢?不过早在去年中旬Axure就发布了8。0的Beta版,经过了长时间了产品……
真伪需求的思考:从一个案例说起入行必看!聊聊游戏设计行业新人最关心的3个问题作为产品经理,我是这样构思一个产品的!滴滴顺风车设计总结丢掉那些所谓的真理,来看看如何做好产品?这10个错误,瞬间让你的网站显得非常业余产品设计对任务、项目管理设计的理解可乐读书笔记Hooked:HowtoBuildHabitFo请不要再逼强迫症患者了!正确的消息推送姿势应该是这样产品功能的场景式设计对菜谱APP的思考国内top5视频网站会员充值流程评测给心减负教你如何让他爱你不罢休QiushiJournal恩师情深师母谊更浓的散文你是个老婊子啊孕妈妈运动胎教究竟有哪些益处?现实中最能打的十大武星个个都脸熟的很酱油水小海鲜怎么做最古老的微生物化石最早可以追溯到亿年前76岁鲍勃爱因斯坦去世揭其资料及生前作品成就大学生能力突出却没有创业机会?不妨利用你的兴趣去创业被3亿人眼红的精神富养,绝不是有钱这么简单!(含资源)

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界