【Axure教程】制作书本翻页效果

news2024/11/16 16:46:19

翻书效果是一种模拟真实书本翻页动作的视觉效果,常用于网页设计和应用程序中,以增强用户体验和交互性。这种效果通常通过动画和过渡效果来模拟书页的翻转,使用户感觉像在真实的书本中翻页一样。

所以今天作者就教大家怎么在Axure里用中继器制作制作一个书本翻页效果,具体效果如下所示:

一、效果展示

1、鼠标左右滑动或点击左右箭头,可以切换至上一页或下一页,切换期间有模拟翻页的动画效果

2、如果翻到首页再继续向前翻页,或者翻到尾页继续向后翻页,就会弹出提示弹窗进行提醒

3、文字内容在中继器里标记,后续只需维护中继器表格,即可填写上对应的文字

图片

【原型预览含下载地址】

https://axhub.im/ax9/14308caa8d2f07ce/#g=1&p=翻页效果

二、制作教程

1. 材料准备

制作材料包括中继器、动态面板、矩形、文本标签、三角形

1.1制作书框架

我们用矩形和三角形、以及文本标签制作书的框架,三角形用于制作左右按钮,矩形用于制作页面灰色背景以及页面内容(文字上下左右居中),文本标签,用于制作底部页码

如下图所示摆放,如果只是做左右滑动效果的话,那三角形按钮可以不需要

图片

1.2制作提示弹窗

用矩形制作提示弹窗,默认隐藏,放置在书本中部位置

图片

1.3制作翻书页面

我们用动态面板制作翻书页,需要制作两个状态页面,状态1是右侧的页面,我们可以把上面做好的右侧页面复制进去;状态2是左侧页面,我们可以把上面做好的左侧页面复制进去。

图片

然后放在书框架的上方,与里面的页面对齐。

1.4制作中继器

我们新建一个中继器,用来包括书本的内容,no列对应页数,content列对应该页数的内容

图片

中继器分页设置我们设置每页显示项目数为2,这样每次只会加载两条

这样基础的材料就准备好了,后续交互需要一些默认隐藏的文本,后续交互制作过程中也会提及。

2. 设置交互

2.1中继器每项加载时的交互

我们是通过中继器来传值的,我们先要在中继器外部准备3个默认隐藏的文本标签,仅用于记录中继器里的文字,分别为记录左侧内容,记录左侧内容,记录页数

在中继器每项加载时,如果是奇数行,那我们用设置文本的交互,将content列的值设置到记录左侧内容的文本标签里;如果是偶数行,我们就用设置文本的交互,将content列的值设置到记录右侧内容的文本标签里

图片

我们还要记录左侧页面的页数,如果中继器里加载的是奇数行,就用设置文本的交互,将no列的值设置到记录页数的文本里;如果是偶数列,那我们还要将no列的值先减一,再记录。

图片

2.2设置页面内容

中继器加载完成后,在记录文本里获取左右两页记录的文本,我们就用设置文本的交互,在载入时,先等待中继器加载完,然后用设置文本的交互,将对应的文本值分别设置到左右页面里,这里需要注意,这里我们要把页面内容左右两页,以及用于翻页的动态面板两个state里面的两页都设置

图片

2.3设置页码

和前面一样,中继器加载完成后,我们获取到记录的左侧页面的页数,所以我们用设置文本的交互,将左侧页面的页面设置为当前记录的文本,右侧页面设置问当前记录的文本值加1,这里需要注意,这里我们要把页面内容左右两页,以及用于翻页的动态面板两个state里面的两页都设置。

图片

设置好之后,默认加载的内容就都能显示了。

2.4翻页效果

这里我们以左箭头为例展开说明,首先我们要判断当前页是否为第一页,用pageindx函数就可以获取到中继器的页码了,如果是第一页,我们就不能再往前翻页了,所以就用显示的交互,显示提示弹窗,因为第一页和最后一页的提示,是共用一个提示弹窗的元件的,所以我们先用设置文本的交互,将里面的文本值设置为已经是第一页啦。

图片

那如果不是在第一页,那我我们用设置面板状态的交互,将翻页的动态面板设置到state2,相当于将左侧的页面放上来,左侧的是透明的。

然后我们用设置当前页面的交互,将中继器设置为上一页,这样中继器就会重新加载传值,记录在前面的三个文本里面,然后我们用设置文本的交互,要先改面板右侧,就是翻到新页面的内容设置上去,默认在下面的右侧内容是暂时不用改;然后左侧的内容是要先改的,因为翻起来之后,就会看到下面的内容,所以需要先更新。两个页面对应的页面也是同样的道理

图片

然后准备好之后,我们开始翻页,用设置面板状态的交互,将动态面板设置到上一页,动画效果选择向右翻转,然后增加一个动画时间,例如2s。

之后我们要懂等待事件,等待动画结束,再用设置文本的将会,将前面剩下的两个页面,在设置回同样的内容,就是通过这样一个时间差,以及先后显示内容的顺序,完成翻页的交互。

图片

这里还有一点需要注意的是,如果在动画时间里连续多次点击按钮,就会出现bug,所以在点击的开始,我们可以用禁用的交互,将按钮禁用,翻页结束后再用启用的交互,将按钮启用。

那右箭头的交互也是一样的里,只不过是和左箭头相反,大家回去自行制作即可。

2.5左右滑动翻页效果

如果我们想通过鼠标拖动实现左右翻页的效果,那我们只需要通过触发事件,触发左右翻页的按钮,这里需要注意的是,如果我们向左滑动,其实是想翻到下一页,所以触发的是右箭头鼠标单击时的交互;如果是向右滑动,其实是想翻到上一页,所以触发的是左箭头鼠标单击时的交互。

图片

这样我们就完成了中继器制作翻书效果的原型模板,后续使用也很方便,只需要在中继器表格里对应页面的文字内容,预览时就可以自动生成效果。

那以上就是本期教程的全部内容,感兴趣的同学们可以动手试试哦,感谢您的阅读,我们下期见。

本文内容由微信公众号:Axure高保真原型原创发布,未经许可,禁止转载和商用。

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

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

相关文章

从API到Agent:洞悉LangChain工程化设计

作者:范志东 原文:https://mp.weixin.qq.com/s/zGS9N92R6dsc9Jk57pmYSg 本文作者试着从工程角度去理解LangChain的设计和使用。大家可以将此文档作为LangChain的“10分钟快速上手”手册,希望帮助需要的同学实现AI工程的Bootstrap。 我想做一…

淘宝扭蛋机小程序开发:开启购物娱乐新纪元

在数字时代浪潮的推动下,小程序作为新兴的交互平台,正在不断引领着购物方式的革新。淘宝扭蛋机小程序的开发,便是这一变革中的一颗璀璨明星,它将传统扭蛋机的趣味与电商购物的便捷完美融合,为用户带来了前所未有的购物…

Docker部署metahuman-stream数字人系统

metahuman-stream是基于ernerf模型的流式数字人,实现音视频同步对话。 metahuman-stream xtts-streaming-server srs 部署 srs # rtmpserver docker run -it -d \ -p 1935:1935 -p 1985:1985 -p 8080:8080 -p 8000:8000/udp -p 10080:10080/udp \ --name srs \ reg…

项目_预览和模拟器运行_真机运行鸿蒙应用---HarmonyOS4.0+鸿蒙NEXT工作笔记002

然后再来看如何使用预览,可以看到 右侧有个preview,点开就可以了 然后再有一个tools,这里 Device Manager,这个是模拟器 点开以后可以看到让我们连接,本地模拟器,还是远程模拟器,还是远程设备 这里我们选择phone 如果选择remote device,这个需要登录华为账号,会自动弹出来登…

ceph用户管理

查看用户及权限 ceph auth ls 可以看到管理员权限具有所有组件的全部权限 查看特定用户 ceph auth get client.admin 创建cephfs使用用户 ceph auth get-or-create client.fs mon allow r mds allow rw osd allow rw poolcephfs-data -o /etc/ceph/ceph.client.fs.keyring…

ACE框架学习

目录 ACE库编译 ACE Reactor框架 ACE_Time_Value类 ACE_Event_Handler类 ACE定时器队列类 ACE_Reator类 ACE Reactor实现 ACE_Select_Reactor类 ACE_TP_Reactor类 ACE_WFMO_Reactor类 ACE库编译 首先去ACE官网下载安装包,通过vs2017或者2019进行编译&#x…

改进下记录学习的小网站

Strong改进 结束:2024-4-14 打算投入:10h 实际消耗:12h 3m 学习总是不在状态。 我的时间花得很零散,也有点茫然。所以想尝试一下集中式地、一块一块地花,比如投入30个小时,去干一件事,这样就可…

vue3数字滚动组件

效果图 一、安装插件 npm i vue3-count-to 二、components文件夹下新建BaseCountTo.vue文件 <template><BaseCountTo :endVal"endVal" :decimals"decimals" /> </template> <script setup > import { defineComponent, watch, r…

游游的you矩阵

题目&#xff1a; 游游拿到了一个字符矩阵&#xff0c;她想知道有多少个三角形满足以下条件&#xff1a; 三角形的三个顶点分别是 y、o、u 字符。三角形为直角三角形&#xff0c;且两个直角边一个为水平、另一个为垂直。 输入描述&#xff1a; 第一行输入两个正整数n,m&#…

[生活][杂项] 如何正确打开编织袋

编织袋打开的正确姿势 面对单线分离右边的线头&#xff0c;然后依次拉开即可

Python(九十四)变量的作用域

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

G2D图像处理硬件调用和测试-基于米尔-全志T113-i开发板

本篇测评由电子工程世界的优秀测评者“jf_99374259”提供。 本文将介绍基于米尔电子MYD-YT113i开发板的G2D图像处理硬件调用和测试。 MYC-YT113i核心板及开发板 真正的国产核心板&#xff0c;100%国产物料认证 国产T113-i处理器配备2*Cortex-A71.2GHz &#xff0c;RISC-V 外置…

UE4 拍摄、保存并浏览相册

效果&#xff1a; 1.新建CameraActor类 2.修改截图保存路径 3.编写BP_Camera蓝图 注意路径 Save Image函数要在执行拍照和BeginPlay事件执行一次 按钮执行拍摄事件 3.编写UMG蓝图 技巧&#xff1a;让Index加1、减1循环赋值 4.把BP_Camera挂在玩家上

renren-fast-vue-master常见报错和解决

前言&#xff1a; 因为最近博主的实习&#xff0c;所以在小破站写那个分布式微服务电商的项目&#xff0c;什么什么商城就不说了&#xff0c;大家都明白&#xff0c;相信大家像我一样&#xff0c;在使用renren-fast-vue-master的时候都很是头痛&#xff0c;项目还没开始就结束了…

2024年第十六届“华中杯”(B题)大学生数学建模挑战赛| 时间序列,滑动窗口 | 数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时&#xff0c;你是否曾经感到茫然无措&#xff1f;作为2022年美国大学生数学建模比赛的O奖得主&#xff0c;我为大家提供了一套优秀的解题思路&#xff0c;让你轻松应对各种难题。 让我们来看看华中杯 (B题&#xff09;&#xff01; CS团队倾…

C语言链表讲解

链表的概念与结构 链表是一种物理存储非连续&#xff0c;非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 如图所示: 链表通过指针域把一个一个节点链接起来,而最后一个节点的指针域指向NULL,表示到头了。 链表与顺序表的对比 链表是一种…

[疑难杂症2024-003]如何判断一张没有头信息的dcm图像,是否是压缩图像?

本文由Markdown语法编辑器编辑完成&#xff0e; 1. 前言: DCM格式&#xff0c;是医学图像领域里面的通用格式&#xff0e;DCM图像一般分为两大部分&#xff0c;一部分是TAG信息&#xff0c;一部分是像素. 而TAG信息&#xff0c;一般又会分为两部分&#xff0c;如下图所示, 是…

C++:STL-stack,queue,deque

栈和队列 1.栈和队列文档理解2.为什么没有迭代器3.Container到底是什么4.模拟实现源码--使用适配器模式5.deque5.1定义5.2底层结构头插头删随机访问扩容 5.3缺陷5.4为什么选择deque作为stack和queue的底层容器 1.栈和队列文档理解 我们通过其上的介绍发现了几个点&#xff1a; …

Python分析之3 种空间插值方法

插值是一个非常常见的数学概念,不仅数据科学家使用它,而且各个领域的人们也使用它。然而,在处理地理空间数据时,插值变得更加复杂,因为您需要基于几个通常稀疏的观测值创建代表性网格。 在深入研究地理空间部分之前,让我们简要回顾一下线性插值。 为了演示的目的,我将使…

单链表的基本操作实现:初始化、尾插法、头插法、输出单链表、求表长、按序号查找、按值查找、插入结点、删除结点。

1.参考学习博文&#xff08;写的相当好的文章&#xff09;&#xff1a; http://t.csdnimg.cn/AipNl 2.关于我的总结&#xff1a; 定义单链表&#xff1a; typedef struct LNode {Elemtype data;struct LNode* next; }LNode; data用来存放元素值&#xff0c;next用来指向后…