Axure变量详解

以前使用Axure只是停留在元件的布局和简单交互事件的设置,使用得非常肤浅,直到现在有时间静下心来重学Axure,才发现函数和变量的牛逼之处。

以前在做较复杂交互时,为了实现一个效果吭哧吭哧写了一串命令,而往往函数和变量一两行就搞定了。众所周知我们写的命令越多,相互之间冲突的可能性越大,出错越多,而且排查起来耗时耗力,尤其是在我们制作高保真原型做可行性测试的时候。这时使用函数和变量写交互命令的威力就体现出来了,简单的命令就能能制作逼真的复杂交互效果。

其实函数和变量没有我们想象的那么难。

变量的本质就是:数值的获取和使用

函数的本质就是:数值的处理(处理各种计算来达到想要的交互效果)

今天重点讲下变量

变量可以分成两大类:系统变量和自定义变量,而自定义变量里面又包括全局变量和局部变量。

系统变量,全局变量,局部变量三者功能各不相同。

系统变量:是系统已经创建好的变量,用于直接获取对象的特定属性值。

全局变量:主要是用于不同页面之间值的传递。

局部变量:主要是用于指定页面内某个特定对象,往往和系统变量配合使用。


系统变量在哪儿?其实就包含在函数里面,函数公式一共包括两部分:函数和系统变量。现在我们来一一认清他们。

Axure变量详解_第1张图片
这是元件的系统变量,this和target是用于指定对象,x,y,width,height等是用于对象的属性
Axure变量详解_第2张图片
这也是系统变量,分别是页面,窗口,鼠标指针的系统变量,页面,窗口,鼠标指针是对象,pagename,window.width,cursor.x等是对象属性
Axure变量详解_第3张图片
这些则是函数
Axure变量详解_第4张图片
这些也是函数

看到区别没,变量是直接去获取某个对象的某个属性数值,不涉及数值的处理,只是简单粗暴地读取出来;而函数涉及数值的处理加工(函数处理的对象一定要是一个数值)。

如果还不能理解的话,就直接把带括号的看成函数,没有括号的看成变量就行。

全局变量在哪儿?

Axure变量详解_第5张图片
[项目]→[全局变量]
Axure变量详解_第6张图片
全局变量的创建其实就是创建一个名称而已

局部变量在哪儿?

Axure变量详解_第7张图片
只要点击fx就能找到他
Axure变量详解_第8张图片
其实局部变量的创建只是指定一个该页面内的对象,然后命好名

变量命名需要遵循以下原则:

• 变量名称必须以字母或下划线打头,名字中间只能由字母、数字和下划线“_”组成。

• 变量名称的长度不得超过25个字符。

• 变量名称在有效的范围内必须是唯一的。有效的范围就是引用变量可以被程序识别、使用的作用范围。

• 变量名称不能是系统中的保留关键字,即不能与系统变量名称相同。例如:name、text、this等等。


那么他们有何区别?又该如何使用呢?这就要从变量的本质来说了。

变量的本质是数值的获取和使用。

数值?什么是数值?数值就是某个对象的某个属性值。比如:[[this.width]]这个元件的宽度值,[[target.x]]目标元件的x坐标值。

所以很明显变量获取使用数值就涉及到两个因素:对象和属性

首先来说对象,系统变量里面有,如:this,target,页面,窗口,鼠标指针等;

全局变量也是对象,但对象一直在变,因为全局变量的作用是不同页面之间值的传递,是一个中间人的角色;

局部变量也是对象,但非常专一,对象是确定的。

再来说属性,属性只有系统变量中有,width是宽度,height是高度、opacity是透明度、length是长度

Axure变量详解_第9张图片
系统变量中的元件属性

所以当我们在应用的时候书写格式为[[对象.属性]],如:[[This.text]]这个元件中的文本。

现在我们理解了对象和属性,那就很好理解系统变量,全局变量和局部变量之间的区别了。

系统变量拥有属性这个特权,但他的对象覆盖不全面,只有this,target元件,鼠标指针,窗口,中继器/数据集,页面和字符串,并不能够覆盖所有的对象,所以需要全局变量和局部变量进行配合。

全局变量扮演的是页面之间中间人的角色,把这个页面的指定值传递到另一个页面。

局部变量扮演的是该页面系统变量对象的补充角色,把这个页面中系统变量对象指定不了的,用局部变量来指定和命名,然后再配合系统变量的使用。但局部变量不能跨页面使用,只在该页面内有效。

就这么多,完

你可能感兴趣的:(Axure变量详解)