使用io.read()[使用Touch Lua iOS应用程序]时,Lua不接受用户输入

时间:2015-08-17 15:26:06

标签: ios iphone lua

我尝试使用Hawwash-Soft为iOS 7+设置的Touch Lua应用程序,在Lua中编写Simon Says游戏。我在iPad Mini上使用iPhone版本。

我的问题是,在我的代码结束时,我有一个不能接受用户输入的io.read()。如果我尝试输入任何内容,它就不会显示出来。程序一直停留在那里直到我停止它。

以下是代码:

clear()
local file=io.open('Simon Says Memory.lua','w')
file:write()
file:close()
print('Hello World!')
sleep(2000)
clear()
repeat
   num=math.random(4)
   color='t'
   wait=1000
   if num==1 then color='red '
   elseif num==2 then color='green '
   elseif num==3 then color='yellow '
   elseif num==4 then color='blue '
   end
   local file=io.open('Simon Says Memory.lua','a+')
   file:write(color)
   file:close()
   local file=io.open('Simon Says Memory.lua','r')
   colors=file:read("*a")
   file:close()
   print(colors)
   sleep(wait)
   clear()
   wait=wait+1
   colorsin=io.read()
until colorsin~=colors
print('Game Over!')

这是我运行程序时通常输出的内容。我将使用红色作为随机颜色。我会在[] s。

中填写笔记,例如清除屏幕
Hello world!
[waits 2 seconds]
[screen clears]
red
[waits 1 second]
[clears]
[cursor appears]

无论我按下多少个虚拟键,我都无法用光标键入任何内容。我的打字根本没有显示出来。

提前致谢。

编辑:我找到了io.read()开始卡住的地方。我在整个代码中放了一些虚拟的io.read(),然后它们一直工作到第二个clear()之后。我不知道为什么......

1 个答案:

答案 0 :(得分:0)

我想出来了,万一有人遇到这个并有这个问题。 clear()和io.read()之间需要有一个print语句。