Principle教程!如何使用消息指令功能?(含源文件下载)

时间:2020-10-29
类别:其他教程
水平:入门
2021年最值得学的涨薪技能!突破设计瓶颈的优质小课,哪项薄弱学哪里 → 立即点击

教程作者:鸽小子(授权转载)

交作业:#优设每日作业#

关于教程

Principle在5.6更新版本中加入了组件发送消息指令的功能,常用在组件开关、状态切换后,发送指令控制其他组件发生动画。

时隔一年我又来写Principle的教程了,上一篇文章《Principle障眼法揭秘》已经倾囊相授,但反响好像没《Principle轻松玩转路径动画》这种标题党文章好。

今天分享一个Principle的小功能,偶尔会用到,但网上能看到的讲解很少。这里浅谈一下这个功能,跟大家一起探讨学习。如果你有幸看到这篇文章,相信会对组件动画跳转有新的认识。

⚠️ 没有特意录一期视频,文章主要以动图演示为主,非WIFI同学慎看👀

Principle 5.6版本,重新设计了向组件UI发送消息。

消息指令的原理

Message to component 消息到组件功能

我自身的理解是:

· 通过组件内画板发布的消息,或父级中的动画指令,发送消息给其他接受消息的组件画板,从而完成指令控制的交互效果;

这里比较绕口,意思是一个画板发送消息,另一个画板接收消息。组件内接收到对应消息后可触发组件内动画。

· 也可直接通过动画指令,跳转到组件内/外,从而发布/接受消息。

首先看看我们通过消息指令能得到是么效果。组合玩法其实很多,只展示几个UI中常用效果。

Principle教程!如何使用消息指令功能?(含源文件下载)

Principle教程!如何使用消息指令功能?(含源文件下载)

Principle教程!如何使用消息指令功能?(含源文件下载)

这两组动画,都是通过一个画板内前端套组件来完成。任意移动触发位置也不会影响接收消息的组件动画。

左侧动画 点击加号时数字会递增变化,底导会有个加入购物袋动画,且底导气泡数字也会随之变化;点击减号只递减数字和气泡内数字。

Principle教程!如何使用消息指令功能?(含源文件下载)

右侧动画 通过官方演示动画演绎而来。

官方演示动画

下面来看一下Principle官方给出的演示动画

Principle教程!如何使用消息指令功能?(含源文件下载)

Principle教程!如何使用消息指令功能?(含源文件下载)

Principle教程!如何使用消息指令功能?(含源文件下载)

Principle教程!如何使用消息指令功能?(含源文件下载)

Principle教程!如何使用消息指令功能?(含源文件下载)

Principle教程!如何使用消息指令功能?(含源文件下载)

Principle教程!如何使用消息指令功能?(含源文件下载)

原理是 通过A组件内画板发送消息,B组件内接收消息后,触发B组件中的动画。这样使得在一个画板内就能完成想要的效果。

这里需注意的是,官方动画当点击开关后,开关切换动画完全结束后,才触发上方画幅变化动画。

这里是个知识点,下面会讲到。

根据官方的演示,我们来拆解一下 调整画幅 动画,看消息指令是如何使用的。

打开Principle,

我们画一个简易的开关,给这个开关创建组件,并且添加点击事件,使得开关可切换。

Principle教程!如何使用消息指令功能?(含源文件下载)

( 绘制简易开关 – 创建组件 )

将「开」的状态 添加事件触发选项为 Auto自动 ,指向到左上角的「 Send Message 发送消息 + 」,并将事件箭头上的 Message 1 修改为 开 ;

将「关」的状态 添加事件触发选项为 Auto自动 ,指向到左上角的「 Send Message 发送消息 + 」,并将事件箭头上的 Message 1 修改为 关 。

Principle教程!如何使用消息指令功能?(含源文件下载)

( 添加自动跳转指向 – 发送消息 )

返回父级,再画一个矩形,用来模拟画幅尺寸,同样也是建立组件。

在矩形这个组件内,我们需要给画板一 添加事件触发选项为 「Message from parent 来自父级的消息 + 」点击加号,并指向回画板本身,复制出画板二。将事件箭头上的 Message 1 修改为「关」。

同理给画板二 也添加「Message from parent 来自父级的消息 + 」指向回画板一,将事件箭头上 Message 1 修改为「开」,并且调整矩形的大小。

Principle教程!如何使用消息指令功能?(含源文件下载)

( 建立矩形组件 – 添加来自父级的消息 – 调整尺寸大小 )

返回父级,选择开关组件。

点击事件触发的闪电,选择 Message from compunent 来自组件里的消息 「开」,将鼠标指向到矩形组件停留,选择 Send Message 发送消息 「开」。

同理给开关组件,添加事件触发 组件里的消息 「关」,指向到矩形组件停留,选择 Send Message 发送消息 「关」。

Principle教程!如何使用消息指令功能?(含源文件下载)

( 将开关组件 发送的指令指向到 矩形组件接收的消息 )

到这里,就还原出了Principle官方给出的演示动画案例。

这个案例,我们给开关内组件每个画板状态都添加了自动跳转发送消息,矩形组件内每个画板都添加了「来自父级的消息」跳转,当发送的消息指向到接收的消息,就到达了消息触发效果。

但上面提到,官方动画当点击开关后,开关切换动画完全结束后,才触发上方画幅变化动画。

是因为要先播放开关组件切换动画后,才触发自动发送消息这个指令。如果把开关切换动画时间改为0「无动画」,即可点击开关瞬间触发画幅变化。

消息指令可以直接通过组件内发送和接收控制,也可以通过组件内直接指向到父级页面画板来实现。

Principle教程!如何使用消息指令功能?(含源文件下载)

( 通过组件内直接跳转到外部画板 – 直接生成发送/接收消息 )

举一反三

了解消息指令的原理后,举一反三可以做出很多指令性的交互动画。

例如按钮控制数字变化等等

在画板数量过多时,添加来自父级消息时,软件会出现多个跳转的线段,后期需要手动梳理删除多余的跳转箭头线。

Principle教程!如何使用消息指令功能?(含源文件下载)

Principle教程!如何使用消息指令功能?(含源文件下载)

Principle教程!如何使用消息指令功能?(含源文件下载)

Principle教程!如何使用消息指令功能?(含源文件下载)

( 按钮控制数字加减 )

为什么要使用消息到组件指令功能?

以上动画我们都可以用多个画板间的跳转也能完成,但运用消息指令可以充分利用组件内画板跳转而不影响父级内容的特性,来制作多重复杂的动画。动画操作、跳转也更清晰。

接收到的消息命名一致时(例如上方的数字 + – 案例)可以通过指令进行叠加操作,例如旋转、缩放等等效果都可通过消息指令叠加变化。

以上就是消息指令功能的基础使用。

玩法还有很多就不一一举例了,只给大家提供一个思路,在后期Principle使用上希望能给大家带来帮助。

最上方两个案例文件附送在文章下方可下载研究。

想要来「优优交流群」和其他小伙伴一起学习分享吗?搜索 QQ 群:1105212050 进群暗号:优优的忠实观众

学完这篇教程的人还在学…

附件下载

文件名 文件大小 提取码 下载来源
源文件下载5.12Mxsjn 点此复制 登录下载
9 收藏 19

非特殊说明,本站 UiiiUiii.com 上的教程均由本站作者及学员原创或翻译,原作品版权归属原作者,转载请联系 @优优教程网 授权。

转载时请在文首注明,来源 UiiiUiii.com 及教程作者,并附本文链接。谢谢各位编辑同仁配合。UiiiUiii 保留追究相应责任的权利。

复制本文链接

发表评论 已发布 1

还可以输入 800 个字
 
 

优优教程网 365 天打卡计划

点击 #优设每日作业# 进入微博超话页面,上传并发布你的练习作业,话题微博格式【 优优教程网365打卡计划 – DAY 01 】,优秀作业将有机会被 @优优教程网 官方微博转发点评。

/

支持键盘 ← → 键翻阅图片