快生活 - 生活常识大全

之旅不看教程如何做出自己想要的任意效果


  今天决定开一个新坑,来讲讲产品经理的大杀器——Axure。
  众所周知Axure是款原型设计工具,应用十分广泛。在国内近年来也有一些创业公司在做原型设计工具,如墨刀、mockplus等,主打简单、易用。但是Axure依然是主流。当然了我并不是说它们不好,其实我都有用过,对于新手来说,确实是很容易上手。
  但是我想提醒的一点是,很多"易用"其实是甜蜜陷阱,在这些主打简单易用的原型工具上,很多细节其实你没法仔细思考其中的奥妙。很多效果都是工具给你封装好的,你拖一拖就完事了,这也限制了你的创造力。你只是在利用别人给你做好的轮子,你无法创造一个轮子。国产的原型工具设计出发点和理念很好,便利的同时就是要牺牲一点创意与成长空间。
  目前的很多Axure教程都是按着特定的例子来的,标题一般长这样:
  Axure教程:做出模拟时钟的效果?
  Axure教程:如何做出滑动解锁的效果?
  那我这个Axure之旅和Axure教程有啥区别呢?回到很久就以前就有人提到产品经理的道与术,是的,借用一下这个概念。我想讲的是Axure的道。
  在这系列文章中,你不会看到太多的具体操作,以及那些无数你看不懂的公式(许多作者在文章中给出一个公式然鹅没有解释,留下一脸懵比的小白。)在这里我想分享的是如何运用工具去创造,将你脑子里的东西用可视化的形式展示出来。
  本文阅读有一点难度,建议新手可以收藏,学完Axure基本操作后再来看。
  好,接下去进入正题。
  我把任意效果,都抽象为三层。
  表现层:
  就是这个效果(组件)长什么样,比如我们常见的淘宝五星打分,样子就是这样。
  逻辑层:
  用一个经典的句式来描述:if…then…
  还是拿五星好评的例子举例。
  if我鼠标移动到星星上then星星变成黄色
  if我鼠标移出星星then所有星星都变成白色
  ……
  数据层:
  数据层是你想展示给用户的东西。 表现层通过逻辑层连接数据层。
  一般可以用一个公式表示:
  数字=星星数
  用一个图表示就是:
  有了这个的关系,我们就可以分析绝大部分效果。
  假设,我们要做一个这样的效果,如图:
  分析如下:
  表现层:
  矩形框box
  文字label
  音量icon
  滑竿dynamic panel
  (动态面板,凡是能够拖动、变化的东西,一般都是用这个组件做的,因为只有它有拖动事件。这点就需要一点使用经验了。)
  好,我们照着在Axure里画一个:
  逻辑层:
  if我拖动滑块then右边的数字会跟着我的滑动在0到100之间变化。
  if我拖动滑块到最左边then无法继续拖动
  if我拖动滑块到最右边then无法继续拖动
  这边有一个拖动的限制,这个我们可以通过限制动态面板的边界实现。主要讲下思路:
  动态面板的x轴数值不能小于滑轨的x轴。
  动态面板的x轴数值不能大于滑轨的x轴与滑轨长度之和。
  所以设置如下:
  left 大于或等于[[LVAR1.x]]
  left小于或等于[[LVAR1.x+LVAR1.width]]
  其中LVAR1是本地变量,指向滑轨。
  这里我们已经可以实现滑轨移动了。
  这里我们观察到当滑块在最左边时候数字为0,在最右边的时候数字为100,可以知道其实滑块的位置占滑轨的百分比就是数字变动的规律。
  那么数据层就是:
  数据层:
  数字=100*滑块占滑轨的百分比。
  进一步翻译层Axure公式就是:
  数字=[[(((slider.x-slide.x)/slide.width)*100).toFixed(0)]]
  解释一下公式:
  (滑块的x值-滑轨的x值)/滑轨的宽度整个值保留0位小数
  x.toFixed(y)函数,即对x保留y位小数。
  至此,这个效果完美实现。
  预览
  总结一下:
  将你想达成的效果分拆为表现层、逻辑层、数据层,表现层通过拖拽组件实现,逻辑层通过事件触发,数据层通过Axure函数实现。
  开始你的Axure之旅吧!
网站目录投稿:白卉