-1

作为一个完整的初学者,我正在 Pico-8 上试验一个小代码:

function _update()
if p.x, p.y == 64, 45 then
 cls()
    print("dead", 37, 70, 14)
 end
end

当我尝试运行程序时,会出现一条错误消息:

'then' expected near ','

我搜索了很多,但从未找到答案。有人可以帮忙吗?

4

2 回答 2

4

您正在尝试使用if格式化:

if p.x, p.y == 64, 45 then
  [...]
end

您可以使用类似于您在此处使用的语法为多个变量赋值。例如,

p.x, p.y = 64,45将设置p.x64和。但是您不能以这种方式检查多个变量的相等性。您需要分别检查每个变量:p.y45

if p.x == 64 and p.y == 45 then
  [...]
end

您的代码尝试p.x, p.y == 64, 45用作if分支的条件。这不起作用,因为 lua 不理解这意味着p.x == 64 and p.y == 45. 相反,它将它理解为不相关语句(p.x、、p.y == 64和)的列表,并在和45之间的逗号上绊倒。p.xp.y

于 2018-08-01T12:30:14.810 回答
0

以这种方式为变量赋值是可以的:

a, b= 1, 2

但是,对于if声明,您需要执行以下操作:

if a == 1 and b == 2 then
    -- do something
end
于 2018-08-01T12:33:27.363 回答