在Corona SDK中,如何在if,elseif,else语句中使用'and'关键字?

以下是我的代码:

如果 randomNumber <=10 then
    physics.setGravity( 20, 0 )

elseif randomNumber > 10 and <= 20 then

    physics.setGravity( -20, 0 )

elseif randomNumber > 20  and <= 30 then

    physics.setGravity( 0, 20 )
else
    physics.setGravity( 0, -20 )
end

不知何故,当我尝试运行程序时,出现了错误提示。如果有人能帮忙解决一下,那就太好了。

点赞
用户1870706
用户1870706
elseif randomNumber > 10 and randomNumber <= 20 then 

在“and”或“or”两侧的内容必须评估为true或false值。因此:

randomNumber > 10 

是一个有效的比较。但是:

<= 20 

不是。什么小于或等于20?在左侧未指定变量/值的情况下,它不知道您要查看什么小于或等于20。

有时您会看到:

if someValue or someOtherValue then 

在这种情况下,someValue和someOtherValue评估为true或false,而无需将其与另一个值进行比较。当您仅指定单个变量时,它实际上是在询问:

someValue不是n​​il或它不是false。其他任何答案都是true。

2014-08-24 02:08:44
用户2307264
用户2307264
如果随机数小于等于10,则执行下面语句:

    physics.setGravity(20, 0)

如果随机数大于10且小于等于20,则执行下面语句:

    physics.setGravity(-20, 0)

如果随机数大于20且小于等于30,则执行下面语句:

    physics.setGravity(0, 20)

否则执行下面语句:

    physics.setGravity(0, -20)
2014-08-25 02:32:30