我试图将对象添加到ScrollView
,这就是发生的事情:
那是什么?错误:表格预期。如果这是一个函数调用,你可能已经使用了'。'而不是':
代码: 这段代码有效:
scrollView = widget.newScrollView
{ -- ScrollView settings
width = _W,
height = 1760,
horizontalScrollDisabled = true,
hideBackground = true,
friction = 0.988,
x = display.contentCenterX,
y = _H*0.55,
isBounceEnabled = false,
bottomPadding = 260,
hideScrollBar = true
}
for i = 1, #allballs do
Frames[i] = display.newImage( "Frame.png" )
Frames[i].height = 0.12*_H
Frames[i].width = 0.38*_W
Frames[i].ballImage = allballs[i].Image
Frames[i].Purchased = allballs[i].Purchased
Frames[i].Price = allballs[i].Price
Frames[i].Place = i
if (i%2==0) then
Frames[i].y=(i-1)*140
Frames[i].x = 0.27*_W
PositionY = (i-1)*140
PositionX = 0.27*_W
else
Frames[i].y=i*140
Frames[i].x = 0.73*_W
PositionY = i*140
PositionX = 0.73*_W
end
if (allballs[i].Purchased) then
balls[i] = display.newImage( allballs[i].Image )
balls[i].height = 0.15*_W
balls[i].width = 0.15*_W
balls[i].x = PositionX
balls[i].y = PositionY
else
local txtoptions =
{
text = allballs[i].Price,
x = PositionX+0.055*_W,
y = PositionY,
width = 0.23*_W,
font = native.systemFontBold,
fontSize = _W*0.1,
align = "left"
}
balls[i] = display.newText( txtoptions )
end
Frames[i]:setFillColor( 1, 1, 0.4 )
Frames[i]:addEventListener( "tap", sellectball )
scrollView:insert( Frames[i] )
scrollView:insert( balls[i] )
end
一切都很完美。但是当我添加这个(在***之间):
for i = 1, #allballs do
Frames[i] = display.newImage( "Frame.png" )
Frames[i].height = 0.12*_H
Frames[i].width = 0.38*_W
Frames[i].ballImage = allballs[i].Image
Frames[i].Purchased = allballs[i].Purchased
Frames[i].Price = allballs[i].Price
Frames[i].Place = i
if (i%2==0) then
Frames[i].y=(i-1)*140
Frames[i].x = 0.27*_W
PositionY = (i-1)*140
PositionX = 0.27*_W
else
Frames[i].y=i*140
Frames[i].x = 0.73*_W
PositionY = i*140
PositionX = 0.73*_W
end
if (allballs[i].Purchased) then
balls[i] = display.newImage( allballs[i].Image )
balls[i].height = 0.15*_W
balls[i].width = 0.15*_W
balls[i].x = PositionX
balls[i].y = PositionY
else
local txtoptions =
{
text = allballs[i].Price,
x = PositionX+0.055*_W,
y = PositionY,
width = 0.23*_W,
font = native.systemFontBold,
fontSize = _W*0.1,
align = "left"
}
balls[i] = display.newText( txtoptions )
***** coin = display.newImage( "coin.png", PositionX-0.07*_W, PositionY)
coin.width = _W*0.05
coin.height = _H*0.05 *******
end
Frames[i]:setFillColor( 1, 1, 0.4 )
Frames[i]:addEventListener( "tap", sellectball )
scrollView:insert( Frames[i] )
scrollView:insert( balls[i] )
******* scrollView:insert( coin ) ********
end
它很有效......
答案 0 :(得分:2)
你可能正在调用像object.method()这样的方法而不是object:method() 不同之处在于:语法自动使用 this 作为对调用者对象的引用。语法必须明确键入第一个参数
答案 1 :(得分:0)
错误总是因为Andoloon指出的原因而发生。
但它似乎不在您的*******代码中。 *****部分的问题可能是你的'coin'var不是一个列表,但它被定义并插入循环中。尝试将其移出循环,并记得在declearation之前使用local。
答案 2 :(得分:0)
我猜测coin.png不存在,或者可能不是确切的文件名匹配(如果您在设备上执行此操作)。在控制台日志中查找有关丢失图像的警告。