Ell*_*lle 0 lua function coronasdk
我是Lua的新手,所以(很自然地)我遇到了我试图编程的第一件事.我正在使用Corona Developer软件包提供的示例脚本.这是我试图调用的函数的简化版本(删除了无关材料):
function new( imageSet, slideBackground, top, bottom )
function g:jumpToImage(num)
print(num)
local i = 0
print("jumpToImage")
print("#images", #images)
for i = 1, #images do
if i < num then
images[i].x = -screenW*.5;
elseif i > num then
images[i].x = screenW*1.5 + pad
else
images[i].x = screenW*.5 - pad
end
end
imgNum = num
initImage(imgNum)
end
end
Run Code Online (Sandbox Code Playgroud)
如果我尝试像这样调用该函数:
local test = slideView.new( myImages )
test.jumpToImage(2)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
尝试将数字与零比较
在第225行.似乎"num"没有被传递到函数中.为什么是这样?
你在哪里宣布g?您正在添加一个g不存在的方法(作为本地方法).然后你也永远不会回来.但很可能那些只是复制错误或其他东西.真正的错误可能是您用来调用test:jumpToImage的符号.
你宣布g:jumpToImage(num).那里的冒号意味着第一个论点应该被视为self.真的,你的功能是g.jumpToImage(self, num)
之后,你称之为test.jumpToImage(2).这使得实际参数为self2并且num为零.你想做的是test:jumpToImage(2).那里的冒号使表达式扩展为test.jumpToImage(test, 2)
请查看此页面以获取Lua :语法的解释.
| 归档时间: |
|
| 查看次数: |
2340 次 |
| 最近记录: |