Framer 10天交互动效特训 - 3

Framer 特训3

上一期我们讨论了 Framer 中我觉得最重要的 2 个概念 States 和 Events. 理解了之后,重要多多实战,如何使用 States 和 Events 实现你需要的交互效果。

本期介绍 2 个 Framer 内置的交互模式 Draggable(可拖曳) 和 Pinchable(可缩放旋转)。

Draggable 模式

越来越多的场景中具有拖曳的交互模式,尤其在手机端中。在 Framer 中,可以通过将一普通图层设置成可拖曳图层,在对齐拖曳效果进行进一步的设置。

操作重点:

  1. 拖曳的范围
  2. 拖曳的动效
  3. 拖曳的事件
# Layers 
layerA = new Layer
    borderRadius: 10
    backgroundColor: '#fff'
    height: height
    width: width
layerA.center() 

# Set draggable layer
# 设置图层可拖曳
layerA.draggable.enabled = true
# 设置图层可拖曳区域
layerA.draggable.constraints = canvas

# Set draggable event
# 拖曳开始,按钮变大
layerA.on Events.DragStart, (e) ->
    layerA.animate
        scale: 1.2
        options: 
            time: .3
            # 先快后慢,符合实际
            curve: Bezier.easeOut

#拖曳结束,按钮还原
layerA.on Events.DragEnd, (e) ->
    layerA.animate
        scale: 1
        options: 
            time: .3
Draggable

注意

  1. 拖曳元素有三个逻辑值属性(true || false),overdrag, bounce, momentum. overdrag 用来设置元素能否拖出限定区域。bounce 用来设置元素能否弹回限定区域。momentum 用来设置元素拖动时是否具有动量(不会瞬移)。
  2. DragStart 和 DragEnd 事件用来判断用户是否开始拖动元素,和用户是否已经释放元素

Pinchable 模式

Pinchable 是另外一个经常用到的交互模式,用户可以旋转缩放某一元素,可限定仅可缩放或仅可旋转。比如图片浏览中就常用到该交互方式。

操作重点:

  1. 创建 Pinchable 图层
  2. 创建 Pinchable 事件
# Set pinchable layer
layerA.pinchable.enabled = true

# Pinch 结束,图层还原
layerA.on Events.PinchEnd, (e) ->
    layerA.animate
        scale: 1
        rotation: 0
        options:
            curve: Bezier.easeInOut
            time: .5
Pinchable

注意

  1. Pinchable 也有两个逻辑值属性,scale 和 rotate. 用来设置是否禁止某一操作,默认是都可以。
  2. PinchEnd 事件用于监听用户是否结束 Pinch 操作。如果不设置图层还原的话,图层会保留在 Pinch 之后的状态。

诚挚的希望您的反馈,我们下期见。

Reference

特训3 Framer 源码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第二个案例实践,图片流的滚动界面 我们先用 Sketch 把静态界面做出来,导入Framer。注意只有建组的元素才...
    求愚阅读 3,582评论 0 1
  • 新开一个 Framer 特训专栏,希望 15 期之后能对这个软件有一个更为深入的理解。 市面上现在流行很多不同种类...
    求愚阅读 4,166评论 0 5
  • 因为要做一个地图操作的项目,需要用到这个地图库,但是查询官方API麻烦,而且这个地图框架的API做的用起来确实太麻...
    虚幻的锈色阅读 34,213评论 1 15
  • 上一期讨论了 Framer 内置的 2 个常用的交互模式,本期我们讨论下 Framer 内置的四个交互组件。Flo...
    求愚阅读 4,659评论 0 5
  • Design 设计 Design Design 模式是响应式的,并且可以从头到尾完全在 Framer 中完成。De...
    刘板栗阅读 6,876评论 0 2

友情链接更多精彩内容