axure 内部框架内容下滑_Axure教程:转盘抽奖交互原型

本文跟大家分享,如何使用axure制作转盘抽奖交互原型,不带登录流程。

77e4046cdb25e0ffade4082ec2b2306e.png

效果如下:

507d0dd2fcc960c8327e2fffee7f7604.gif

抽奖流程

663c4c3469c689a60de9b1e6b8b6d9cc.png

一、主要内容

(1)主要元件:动态面板

(2)重点:旋转交互、随机函数、触发动作。

(3)难点:通过停止位置判断抽奖结果

(4)涉及函数及解释:

  1. target:目标元件
  2. text:元件文本
  3. Math.random:返回0-1之间的一个数字
  4. rotation:元件旋转角度

二、原型准备:主要包含两个页面

(1)框架页面

包含手机边框+内联框架,主要用于将内容调入当前页面,展示整体效果。

双击内联框架,选中index(内容)页面,把内容页面引用到内联框架中。

f4d4a1c082a8a79fba6f48bb086cb7e1.png

(2)内容页面

包含作品全部元件内容。(提示内容默认隐藏)。

977a55bd4c9040e346b4b54a2fab5539.png

三、原型拆解说明

(1)转盘

由两大部分组成,背板+按钮,旋转部分与按钮指针分开,方便添加交互,对背板命名为:zhuanpan。

fe1d27f05f4f3ed20079c5a3a045080e.png

(2)剩余次数

数字为单独的文本标签,这样方便对数字进行运算。数字3命名为:cishu

34ccc533281958055a330b4628719d44.png

(3)抽奖结果动态面板拆分说明

抽奖结果动态面板包含四个面板状态,并分别对应转盘上的四个奖项。动态面板命名为:jiangpin,默认设置隐藏。

5bb91aab613b8f04947162b53f42d2c3.png

四、交互动作

1. 【开始抽奖】按钮交互

鼠标单击时:添加判断如果次数(cishu)元件值大于0,执行旋转,次数减1等交互;当次数(cishu)值小于0,显示提示信息,2秒后隐藏。

95efaa3dfc6b8e29b5e4dca8c99cf35a.png

交互设置:

4059c4a3b33f4dc697bb3937d199998a.png
  1. 旋转角度表达式:[[Math.random()*360+3600]],从0-1中随机产生一个数字(乘以360),这样在360度中任意得到一个角度;加3600,是让转盘至少能转10圈,然后再任意停止到一个度数上。
  2. 次数交互设置:target.text-1,表示用次数(cishu)文本减1。
  3. 禁用当前元件[开始抽奖]:避免重复单击按钮,影响次数文本递减、以及转盘重复旋转。
  4. 等待10010毫秒:为了能在旋转结束以后,再出抽奖结果。所以这个时间可以等于或稍大一点旋转的时间。
  5. 显示奖品(jiangpin)动态面板:将隐藏的奖品(jiangpin)动态面板显示出来。
  6. 触发事件:因为需要在旋转结束以后,判断旋转的角度,给出具体的抽奖结果。但因在交互动事件中,没有旋转结束时事件;所以需要把交互写到奖品(jiangpin)动态面板上,通过触发事件来触发jiangpin动态面板相应的事件,产生抽奖的结果。(当前以把判断过程交互,写在动态面板载入时为例,所以触发的是奖品(jiangpin)元件的载入时事件)。抽奖判断结果交互见下
  7. 启用当前元件[开始抽奖]:这样才可以继续点击抽奖。

2. 奖品动态面板交互

把抽奖结果交互写在奖品(jiangpin)动态面板的任何事件都可,当前以写在载入时为例。

2c5158fd725c8307a9d60d8b65d03ae1.png

因为转盘上有4个奖项区间,每个区间90度范围;停止后,用最终旋转的度数除以360度,取余数,就能判断在转盘相应的位置,然后再输出相应奖项(设置面板状态)。

其中,需将else if,转换为if。

2f33d95afbd767a460b3cd9fd8d47407.png

添加条件的具体设置见下:

470e0cf142441a0c29ec4ba723e030e7.png

表达式说明([[LVAR1.rotation%360]]):获取转盘(zhuanpan)旋转角度,取余360。得到最终停止的角度。

3. 【确认收下】按钮交互

鼠标单击时:隐藏奖品(jiangpin)动态面板。

1ff2ac6f55270b8bd4854a8d607b009d.png

五、整理

将jiangpin动态面板、提示(tishi)元件移入内容区域垂直剧中对齐;全选所以内容,将坐标改到(0,0)原点。

最后回到框架页面,预览一下整体效果。

ad72fb66cdefc8091de9512f593c3566.png

原型下载:链接:https://pan.baidu.com/s/1jqNv5xZgkuUNF9nJkeR9Tw 密码:66l4

本文由 @松林放牛娃 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自 Pexels,基于 CC0 协议

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java.lang.relect.Array 类

概述 这是一个位于 java.lang.reflect 包下的类,类中的方法都是静态方法,主要的功能就是更方便地创建数组。在数组元素类型未知时,简化了操作数组的代码。 使用示例 //创建一个长度为 5 的整形数组 //等价于 int[] array new int[4]; int…

日志打印的8种级别(很详细)

日志打印的8种级别(很详细) 日志的输出都是分级别的,不同的设置不同的场合打印不同的日志。下面拿最普遍用的Log4j日志框架来做个日志级别的说明,其他大同小异。 Log4j的级别类org.apache.log4j.Level里面定义了日志级别&#x…

python格式字符_python格式字符

用python实现接口测试(八、实现序列化与反序列化)前言在python中,序列化可以理解为:把python的对象编码转换为json格式的字符串,反序列化可以理解为:把json格式字符串解码为python数据对象。一、字典,通过json把它序列…

CountDownLatch 介绍与举例实现

文章目录概述主要方法举例实现概述 CountDownLatch 是 JUC 包下的一个重要的并发工具,它是一个线程协同作业的工具,使某些线程一直处于等待状态,直到另外的线程完成任务后再执行。 主要方法 CountDownLatch 主要靠内部的一个计数器来实现同…

identity_insert 如何改为on_十分钟教你如何快速提高Laya构建速度,还不快来康康?...

前言如何快速提高Laya构建速度 微信小游戏推出之后,很多公司也相应的进入到微信小游戏这个领域,现在市场上的游戏开发引擎,如Cocos、Egret、Laya都对小游戏有了很好的兼容性。而在实际开发中,如何提高Laya的构建速度,是…

mysql数据库中数据类型的长度

mysql数据库中数据类型的长度 在mysql中新建数据表的时候会有长度一说,其实用建表语句建数据表的时候也有涉及 例如: CREATE TABLE user( uid int(4), name varchar(255), passward varchar(20) birthday data ) 不知道你有没有注意这个数据类型…

Iterator 和 ListIterator 的区别

概述 Iterator 和 ListIterator 都是迭代器,都可以用来遍历 List,ListIterator 还继承自 Iterator。 区别 Iterator 只能用于顺序遍历,且只能删除元素ListIterator 可以顺序或者反序遍历ListIterator 可以增加(add(E e) 方法&a…

二下语文书电子课本_小学生语文成绩好,不是靠补课,把课本吃透,才是高效学习方法...

关注语文教学发展,解决语文学习困惑。对于基础差、语文学习能力差的同学,我不建议去补课。但是家长说,不补课怎么办呢?我们也没有时间和耐心去给孩子辅导,又怕讲错了,还是让老师讲好。尽管家长们有这个意识…

Java面试——MyBatis系列总结

文章目录: 1.MyBatis是什么? 2.JDBC编程有哪些缺陷?MyBatis又是如何改进的? 3.MyBatis与Hibernate的区别在哪? 4.MyBatis的优缺点 5.请说说MyBatis的工作原理 6.MyBatis的架构设计是怎样的? 7.#{}和…

包装类型与基本类型的装箱与拆箱操作

文章目录概述Boolean 与 booleanCharacter 与 charByte 与 byteShort 与 shortInteger 与 intFloat 与 floatDouble 与 doubleLong 与 long总结概述 基本类型与包装类型,存在相互转化的关系。 基本类型转为包装类型这个过程,被称之为装箱包装类型转为基…

机器人炒饭小块头一一_小块头机器人炒饭:全智能流程,炒饭芬芳独具

在我的生活里,没有什么不开心的事情是一顿炒饭解决不了的,实在不行就两顿。把前一天剩出来的隔夜饭放到锅里和家里的食材进行组合、翻炒,就可以千变万化,方便好吃又管饱。小块头茶油炒饭,是一份易拉罐材质独立包装的炒…

Java面试——Spring系列总结

文章目录: 1.什么是Spring? 2.Spring由哪些模块组成? 3.Spring中都用到了哪些设计模式? 4.什么是Spring IOC容器?有什么作用? 5.Spring IoC的实现机制 6.BeanFactory 和 ApplicationContext有什么区别…

gateway 过滤器执行顺序_spring boot gateway 过滤器的执行顺序

前言学习官方文档,发现对于过滤器有分为三类默认过滤器自定义过滤全局过滤器于是就有一个疑问,关于这些过滤器的访问顺序是怎样的,今天就以一个demo来进行测试准备阶段过滤器工厂类以此为模板,复制出几份就可以了,注意…

Java 线程状态流转

Java 线程一共有 6 种状态: NEW:新建状态,当一个线程被创建完成,还没有调用 start() 方法时,是这种状态。RUNNABLE:可运行状态,当一个线程正在正常地执行 run() 中的代码时,是这种状…

达梦数据库导入oracle数据_达梦数据库和oracle数据的一些区别

近期我在考达梦的dca发现有一些和oracle不同的地方,由于我是oracleDBA在维护达梦数据库的时候有需要注意的地方,现在分享一下2个数据库的一些区别。1、登陆的区别oracle:如果sys的密码忘记可以用操作系统验证方式登陆修改密码。dm:达梦数据库如果忘记了s…

Fail-fast 和 Fail-safe 机制

fail-fast 和 fail-safe 的区别 从字面意思来看 fail-fast 是快速失败,fail-safe 是安全失败,这都是集合类对于并发读写时的一种应对机制。 fail-fast,广泛应用于 java.util 下的集合类中,其机制为在使用迭代器遍历的过程中&…

【java8新特性】——lambda表达式与函数式接口详解(一)

一、简介 java8于2014年发布,相比于java7,java8新增了非常多的特性,如lambda表达式、函数式接口、方法引用、默认方法、新工具(编译工具)、Stream API、Date Time API、Optional等 。 当前很多公司的老产品依然使用的…

详解 ConcurrentHashMap

文章目录ConcurrentHashMap 的底层数据结构?ConcurrentHashMap 的带参构造方法的流程?ConcurrentHashMap 的 put 方法的流程?ConcurrentHashMap addCount 方法的流程是怎样的呢?ConcurrentHashMap transfer 方法的流程是怎样的呢?Concurren…

js 二叉树图形_js数据结构和算法(三)二叉树

二叉树的概念二叉树(Binary Tree)是n(n>0)个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。二叉树的特点每个结点最多有两棵子树,所以二叉树中不存在度大于…

【java8新特性】——Stream API详解(二)

一、简介 java8新添加了一个特性:流Stream。Stream让开发者能够以一种声明的方式处理数据源(集合、数组等),它专注于对数据源进行各种高效的聚合操作(aggregate operation)和大批量数据操作 (bulk data op…