谈谈Axure事件中的行为执行顺序
最近发现,有不少同学对Axure事件(Events)的行为(Actions)执行顺序,还不是很清楚。常常发生的事情是,兴高采烈写了一个复杂得让人吐血的交互,一执行,tmd和设想的完全不一样!这事,一不能怪社会,二不能归咎于rp,三不能借口说软件的版本太低。那这到底是为什么呢?
让我们结合个例子来讲这件事。
上图中,按钮 交互1、交互2、交互3和交互4 分别加了onclick事件,作用于“我是007”处的动态面板(标签为"007”)。4个onclick事件触发的行为详情如下:
结合这两张图,你能不能马上判断出按这4个按钮后,“007”会怎么样移动?如果不能或不完全能,请继续往下看。
行为的执行顺序,总结起来四句话:
1、单一场景中,按顺序执行行为;
2、无逻辑判断的多场景中,需手动选择场景,并执行选中场景中的行为;
3、有逻辑关系的场景,只执行自上而下第一个满足逻辑条件的场景下的行为;
4、相互独立的场景,同时执行所有满足条件的场景下的行为。
1、单一场景中,按顺序执行行为
以[交互3]为例,点击交互3这个按钮后,“007”将向下移动10px->等待500ms->向下移动20px->等待1000ms->向下移动30px,结束。
2、无逻辑判断的多场景中,需手动选择场景,并执行选中场景中的行为
以[交互4]为例,点击交互4这个按钮后,将弹出场景选择框,选择某场景后,执行该场景下的所有行为。比如选择case1,则“007”将向下移动10px,结束。
3、有逻辑关系的场景,只执行自上而下第一个满足条件的场景下的行为;
以[交互2]为例,case1,case2,case3是典型的“if-else if”关系。在默认情况下,会执行case1中的行为后结束。
如果有人变态点,在页面载入时设置了一个不为空的变量,那第一个场景的条件就不能满足。自上而下找第二个场景,case2,显然符合条件,执行行为,结束。
4、相互独立的场景,同时执行所有满足条件的场景下的行为
以[交互1]为例,case1、case2、case3都是带if的case,相互独立。如果条件都满足,将同时执行case1,case2,case3中的行为。
这是最容易搞错的一种情况!很多人以为这时候,效果和[交互3]中的相同,其实不是。请记住,是同时执行!将[交互1]行为分解:
1)按下交互1按钮,case1中执行move 007 by (0,10)后结束。case2中的wait 500ms,case3中的wait 1000ms同时开始执行;
2)500ms时,case2中,结束500ms等待,执行move 007 by (0,20)后结束。case3继续执行wait行为
3)1000ms时,case3结束1000ms等待,执行move 007 by (0,30)后结束。至此,所有行为执行完毕。
这样一来,最终的效果是:“007”将向下移动10px->等待500ms->向下移动20px->等待500ms->向下移动30px,结束。
我要谈的就这些,如果还有不明白的,可以下载本案例原型再研究研究。
最后说一句,我不提倡用Axure做非常复杂的交互,但我建议你了解axure的所有功能。
学习了,看来还是比较好理解的
交互一像是switch case语句里少了break的效果
请教蛋王,什么情况下会做原型呢
有Axure经验欢迎到 http://www.axure.org 分享。
额……第二幅图应该是电路板的漫画版吧。。
N久没更新了啊现在开始专研产品交互了??
这个研究有点深了
只想问一下你的字体和段落是怎么实现这样的,我的修改不好。
很久没有来看你,来就看到一个写技术问题的。我还是喜欢看生活的。
看着很复杂
呵呵。
蛋王好久没跟新了哦
蛋王太厉害了,一出来就搞篇专业的!
这个也太专业了点
看完了,送你两个字吧:不懂
搞编程得
博主专业性的东西很强吧!
这个问题我也没怎么看懂,看来你比我更懒,更新比较慢
Axsure真的挺好用,产品原型必备
蛋王 回复:
八月 23rd, 2010 at 18:59
@mars,
知音哪。。
额,看不懂啊!
乐铺这次又搞活动了,呵呵。
上次我收到的是阳光罐子,免费的。
七夕快到了,可以免费给你爱人送份礼物哈
详情请看:
http://www.lepu.com/events/2010/77/6686
不明真相的围观,话说你的表情组和我的一样哎
路过,学习了
你终于冒泡了.
我来晚了!
太专业了
我不懂,但是来踩个脚印
快快快更新!
不明真相的围观群众路过了
博主是一个有才人,支持一下,学习了
该更新了,博主很忙吧
我来过,百度来的,囧
看的一头雾水啊~
这种复杂的话题就不用拿出来分享了吧,我等智商比较低等
研究的不错,不过貌似实际用处不是很大。。
看了几遍,没看懂。。
没看懂,什么高科技。
恭喜你,pr4.
反正我不太懂这个,有点高深
我也更新了,有空过去看看给点意见?
这个技术含量有点高了。支持下
博主家里高技术含量的文章很多,可惜我是外行,还是想看看你写的生活小记什么的
有点看不懂,技术含量太高了。
比较有技术含量,学习了
我还是先回去了解清楚axure的所有功能再来学习吧
。
代码做的很强大啊 赞赞
技术含量太高,看不明白。