要在代码中做决定可以使用逻辑。我们称这些部分为条件,当满足条件时代码运行特定的部分。
假设我们要在单击另一个图层时切换图层的可见性。
使用 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
语句总是布尔值,也可以通过将它们和 and
、or
组合使用,一次检查多个条件。
# 拖动 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"