条件 Conditionals丨Framer 文档 Programming

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"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容