1.4_8 Axure RP 9 for mac 高保真原型图 - 案例7 【旋转的唱片5】进度条&计时器 关联

相关链接


案例目标

 1. 了解 进度条绑定时间 的实现原理
 2. 掌握 变量 的高级使用技巧

一、成品效果

Axure Cloud 案例6 -【旋转的唱片5】进度条&计时器 关联

版本更新

 一、进度条绑定时间
  1.1 通过拖拽点击改变进度条后,时间也按照进度比例,变更为对应时间

在这里插入图片描述

历史版本Axure Cloud 案例6 -【旋转的唱片4】进度条_拖拽、点击
 一、进度条
  1.1 通过拖拽方式,可以改变进度条位置。
  1.2 通过点击方式,可以改变进度条位置。

历史版本Axure Cloud 案例5 -【旋转的唱片3】进度条_滚动
 一、进度条
  1.1 进度条按时间比例向右滚动。

历史版本Axure Cloud 案例4 -【旋转的唱片2】计时器
 一、播放
  2.1 点击播放按钮,计时器开始计时
  2.2 点击暂停按钮,计时器暂停计时
  2.3 每次点击播放按钮,继续时间,并等于上次暂停的时间。
 二、计时器
  1.1 播放状态:计时器每秒钟变化一次。
  1.2 播放状态:秒数个位范围[0-9],到10自动进一位,并归0。
  1.3 播放状态:秒数十位范围[0-6],到6自动进一位,并归0。
  1.4 播放状态:分钟个位范围[0-9],到10自动进一位,并归0。
  1.5 播放状态:分钟十位范围[0-6],到6自动进一位,并归0。
  1.6 播放状态:总时间 = 结束时间时,自动暂停
  1.7 暂停状态:计时器停止变化

历史版本Axure Cloud 案例2 -【旋转的唱片】
 一、播放
  1.1 点击播放按钮,唱片开始旋转
  1.2 点击播放按钮,播放按钮变为暂停按钮。
  1.3 点击暂停按钮,唱片停止旋转
  1.4 点击暂停按钮,暂停按钮变为播放按钮。
 二、收藏
  2.1 未收藏状态:点击收藏按钮,出现收藏动效
  2.2 未收藏状态:点击收藏按钮,切换为已收藏状态
  2.3 已收藏状态:点击收藏按钮,出现弹窗,提示取消收藏
  2.4 已收藏状态:点击收藏按钮,切换为未收藏状态

二、素材准备

  需要先依次完成:
    案例2 【旋转的唱片】
    案例4 【旋转的唱片2】计时器
    案例5 【旋转的唱片3】进度条_滚动
    案例6【旋转的唱片4】进度条_拖拽、点击

三、制作方法

  主要通过给动态面板 - 进度条 已有交互功能【点击、拖拽】中,增加新的动作:设置变量值、设置文本

  另外,在之前的基础上要新增4个新的变量,对应计时器的四个文本框。

变量名含义变量值说明
current_time当前播放总秒数[[Math.floor((Cursor.x - This.left) / This.width * end_time) + 1]]
current_time / end_time = (Cursor.x - This.left) / This.width
=>
current_time = (Cursor.x - This.left) / This.width * end_time
  最后对计算结果向上取整,因为Axure只支持向下取整函数Math.floor,则采用向下取整后+1的方式。
  向上取整可以保证改变进度条后,下一次触发滚动时,不会向前滚动一小格。
current_minute_tens当前计时器时间 (分钟 - 十分位)[[Math.floor(current_time / 60 / 10)]]简单的数学计算,例如1357秒对应分钟数十分位
=> Math.floor( 1357 / 60 / 10)
= Math.floor( 2.2627 )
= 2
current_minute_ones当前计时器时间(分钟 - 个位)[[Math.floor(current_time / 60 - current_minute_tens * 10)]]简单的数学计算,例如1357秒对应分钟数个位
=> Math.floor( 1357 / 60 - 2 * 10)
= Math.floor( 22.6167 - 20 )
= Math.floor( 2.6167 )
= 2
current_seconds_tens当前计时器时间 (秒 - 十分位)[[Math.floor((current_time - current_minute_tens * 600 - current_minute_ones * 60 ) / 10 )]]简单的数学计算,例如1357秒对应秒数十分位
=> Math.floor( ( 1357 - 2 * 600 - 2 * 60 ) / 10 )
= Math.floor( ( 1357 - 1200 - 120 ) / 10 )
= Math.floor( ( 37 ) / 10 )
= Math.floor( 3.7 )
= 3
current_seconds_ones当前计时器时间(秒 - 个位)[[Math.floor(current_time - current_minute_tens * 600 - current_minute_ones * 60 - current_second_tens * 10 )]]简单的数学计算,例如1357秒对应秒数个位
=> Math.floor( 1357 - 2 * 600 - 2 * 60 - 3 * 10 )
= Math.floor( 1357 - 1200 - 120 - 30 )
= Math.floor( 7 )
= 7
结论:1357秒对应计时器时间为 22分37秒
可以自行反向验证一下22分37秒是否等于1357秒 ( 22 * 60 + 37 = 1357)

变量值说明:

变量值含义
[[ ]]两个中括号内的值,会按照变量处理。否则只会视作普通文本处理
Math.Floor()向下取整,例如 Math.Floor(2.2) = 2
Cursor.x当前鼠标的x轴坐标值
This.leftThis表示当前元件,left表示左边界坐标。
在当前demo中,如果进度条位置不作调整,则固定为45
在这里插入图片描述
使用变量的好处:当调整进度条位置后,不需要重新修改交互中变量的取值逻辑
This.widthThis表示当前元件,left表示左边界坐标。
在当前demo中,如果进度条宽度不作调整,则固定为471
在这里插入图片描述
使用变量的好处:当调整进度条宽度后,不需要重新修改交互中变量的取值逻辑
end_time表示歌曲总时长,以晴天为例,4分29秒 = 269秒,则end_time默认值为269。
在这里插入图片描述

22/08/31

M

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值