Axure教程:模拟真实摇骰子交互

本文教大家一个模拟真实摇骰子交互,一起来看看~

在做这个教学时有个重大发现,原来骰子的骰拼音不是“shǎi”而是“tóu”!这是比本教学更重要的内容。

你将会学会的交互效果图:

Axure教学之模拟真实摇骰子交互

你将学到的东西:

  1. 使用随机数字来实现一些骚操作
  2. 通过动态面板来控制停和不要停
  3. 文本框的妙用
  4. 文末有彩蛋

本教学原理:

  1. 通过动态面板循环计算产生1-6随机数赋值到文本框;
  2. 文本框文本改变来控制动态面板要展示的骰子数。

第一步:通过动态面板计算随机数字

1. 绘制如下三个元件

  1. 动态面板,创建2个状态,命名[控制随机]
  2. 文本框,命名[随机数字]
  3. 按钮,命名[开关按钮]

Axure教学之模拟真实摇骰子交互

2. 设置[控制随机]动态面板交互

①[控制随机]新建交互状态改变时,设置文本[随机数字]文本框=[[Math.ceil(6*Math.random())]]

函数解释:

Math.random():即随机产生0-1内的随机数,前面加6*,即随机产生0-6随机数

Math.ceil(x):即取整

本函数的意思是取0-6之间的随机正整数

Axure教学之模拟真实摇骰子交互

3. 设置[开关按钮]交互

①[开关按钮]点击时,情形1,如果[按钮开关]元件文字为“开”,则执行以下条件:设置[控制随机]动态面板到下一项,循环间隔100ms。设置文本[开关按钮]元件文字为“关”

②[开关按钮]点击时,情形2,如果[按钮开关]元件文字为“关”,则执行以下条件:设置[控制随机]动态面板停止循环。设置文本[开关按钮]元件文字为“开”

Axure教学之模拟真实摇骰子交互

④看看效果

每100ms变换一次数字

Axure教学之模拟真实摇骰子交互

第二步:绘制骰子和用文本框控制骰子

绘制骰子

①绘制六个骰子

Axure教学之模拟真实摇骰子交互

②填充颜色后,创建一个动态面板,命名[骰子],添加六个状态,分别把六个骰子放到六个状态里。

Axure教学之模拟真实摇骰子交互

③设置[控制随机]输入文本框交互,文本改变时,添加六个情形,当[随机数字]输入文本框=1时,设置[骰子]动态面板为状态1,依次类推。

Axure教学之模拟真实摇骰子交互

设置六个情形:

Axure教学之模拟真实摇骰子交互

④看看效果

这样[骰子]动态面板会随着文本框的改变而改变,这就是利用输入文本框的“文本改变时”的妙用。

Axure教学之模拟真实摇骰子交互

第三步:利用随机数模拟真实移动

由于骰子在运动过程中,既有旋转,又有位移,且随开关控制,其实很简单,我们只需要在[控制随机]动态面板增加两个动作:

旋转[骰子]经过60°,动画线性100ms

移动[骰子]到达X=[[Math.ceil(100*Math.random())]],Y=[[Math.ceil(100*Math.random())]],动画线性100ms。这个函数的意思就是移动[骰子]在100*100范围内随机移动

Axure教学之模拟真实摇骰子交互

看看效果:

Axure教学之模拟真实摇骰子交互

最终效果1:

Axure教学之模拟真实摇骰子交互

最终效果2:

大家思考一下怎么实现,原理很简单

Axure教学之模拟真实摇骰子交互

这次教学就到这里,我有时候做交互只是觉得好玩而已,同时可以锻炼逻辑思维能力。很多同学都反映源文件打不开,因为我用的是9.0的,习惯了也挺好用的,有疑问欢迎留言。

源文件下载地址:

链接:https://pan.baidu.com/s/1iZlcYaNN9IxqGDiC4xXruw

提取码:8oy5

 

本文由 @索大佩罗娜 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议