Lua 中的嵌套 if/else 语句 - Corona SDK

正在尝试使移动在(x)键抬起(w,a,s,d)时停止,但如果按下另一个键,则不想停止移动。这是我正在尝试使用的代码片段,但不起作用:

  if (event.keyName == 'w' and event.phase == 'up') then
    if (event.keyName == 's' and event.phase == 'down') then
      testObj.deltaPerFrame = {testObj.deltaPerFrame[1],2}
    else
      testObj.deltaPerFrame = {testObj.deltaPerFrame[1],0}
      return true
    end
  end
点赞
用户2858170
用户2858170

你有相同的按键事件对象,因此 event.keyName 或 event.phase 不能有两个不同的值。因此,你的条件没有任何意义。

请参考 CoronaSDK 手册。

https://docs.coronalabs.com/api/event/key/keyName.html

你需要维护一个当前按下的按键列表。

2020-04-24 09:11:12