Framer 中文文档

条件 Conditionals丨Framer 文档 Progra

2017-09-11  本文已影响22人  刘板栗

Programming

要在代码中做决定可以使用逻辑。我们称这些部分为条件,当满足条件时代码运行特定的部分。

假设我们要在单击另一个图层时切换图层的可见性。
使用 if 语句,可以检查图层是否可见。

# 新建一个按钮
button = new Layer
 
# 新建一个图层 layerA,并放在正中间
layerA = new Layer
    point: Align.center

 # 点击图层 button 时,如果 layerA 的可见性,为假,反之为真
button.onClick ->
    if layerA.visible
        layerA.visible = false
    else
        layerA.visible = true

除了检查属性,还可以通过比较来检查值。大于、小于是个典型的比较。这些称为比较运算符
下例,当拖动到 marker 下面时,LayerA 将变为红色。

# 新建个图层 layerA,layerA可拖动(是的)
layerA = new Layer
layerA.draggable.enabled = true

# 再建一个图层 marker,水平垂直居中 
marker = new Layer
    x: Align.center
    y: Align.center
 
# 拖动 layerA时,如果layerA的Y大于marker的Y,layerA的背景颜色是红色。
layerA.onDrag ->
    if layerA.y > marker.y
        layerA.backgroundColor = "red"

因为if 语句总是布尔值,也可以通过将它们和 andor 组合使用,一次检查多个条件。

# 拖动 layerA时,如果图层layerA 的X > marker的X和layerA的Y > marker的Y,layerA的背景颜色变成红色,如果满足上面的条件就变成绿色。
layerA.onDrag ->
    if layerA.x > marker.x and layerA.y > marker.y
        layerA.backgroundColor = "red"
    else
        layerA.backgroundColor = "green"
上一篇下一篇

猜你喜欢

热点阅读