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

4 评论 20348 浏览 158 收藏 7 分钟

今天决定开一个新坑,来讲讲产品经理的大杀器——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之旅吧!

 

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

题图来自PEXELS,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 学习了,谢谢分享

    来自浙江 回复
  2. 😉 😈 😥 😀 :mrgreen: ➡ 😳 😮

    来自上海 回复
  3. 看清问题的本质,其实都差不多 😉

    来自广东 回复
  4. 学会了,才知道,仅仅是一个工具而已,国内的交互,真没觉得有那些是原创有内涵的。

    来自四川 回复