我是一名没有多少经验的新程序员;作为一个好的菜鸟很可能你会看到下一个代码行可能会显示大量的错误或不精确因此我提前自己放弃了。 那么,情况如下: 最近,我正在接触一种新的编程语言(显然是我的新东西),即LUA(使用电晕sdk)。我找到了编写简单代码的语言。 现在我正在尝试执行一个只显示受重力影响的两个矩形的程序。当我尝试使用CORONA在我的电脑上模拟应用程序时,它没有任何问题;在为Android操作系统构建它之后,将它安装在我的手机上并运行它,结果是一条错误信息如下:
这是错误消息:
“main.lua.35:ERROR:表格预期。如果这是一个函数调用,你可能已经使用了'。'而不是':'“
这是代码:
local physics = require("physics")
physics.start()
local _W = display.contentWidth
local _H = display.contentHeight
local platform = display.newRect(
--x =
_W/2,
--y =
_H/2,
--width =
100,
--height =
100
)
platform.surfaceType = "rectangle"
local myImage = display.newImage("icon.png",_W/2,50)
local iconCollision = {
friction = 0.0, --attrito
bounce = 0.0, --rimbalzo (forse)
isSensor = true --collisione con altri oggetti
}
physics.addBody(platform,"static")
physics.addBody(myImage,"dynamic",iconCollision) --this is line 35
platform.collision = onCollision
local function onGyroscopeDataReceived( event )
local deltaRadians = event.zRotation * event.deltaTime
local deltaDegrees = deltaRadians * (180/math.pi)
end
local function dragImage(event)
local t=event.target
print(event.phase)
if(event.phase == "moved") then
t.x = event.x
t.y = event.y
end
end
local function onCollision( event )
if ( event.phase == "began" ) then
print("toccato")
end
end
if system.hasEventSource( "gyroscope" ) then
Runtime:addEventListener( "gyroscope", onGyroscopeDataReceived )
end
Runtime:addEventListener("collision",onCollision)
myImage:addEventListener("touch",dragImage)
我将非常感谢那些试图帮助我的人。
答案 0 :(得分:0)
我认为event.zRotation
可能是null
。在iOS上,您可以使用适当的UIRequiredDeviceCapabilities
。在building.settings
中添加此UIRequiredDeviceCapabilities = { ["gyroscope"]=true }
。在Android上设置usesFeatures = { { name="android.hardware.sensor.gyroscope", required=true } }
。
答案 1 :(得分:0)
在磁盘上查找映像的名称," icon.png",大写和小写的问题,在Android设备上它可能会导致错误,而不是在模拟器中显示。 如果它没有加载myImage:addEventListener会显示一个错误,也许就是你看到的错误。 还尝试排除代码片段,然后在设备上运行该程序。我发现了与模拟器的区别。