我试图将我的信息封装在一个变量中,并且在我的Corona文件中工作很困难。
我已经删除了更改颜色的行,但是我仍然遇到某种功能错误
df[ , LD_votes:= y[order(district),SumV]]
df
district party1 votes1 party2 votes2 party3 votes3 LD_votes
1: A Lab 188 LD 140 Con 23 140
2: B Con 200 Lab 164 LD 99 99
它总是会引发尝试访问全局变量的错误。在for循环中创建主体时,更改主体颜色的行特别带有问题。感谢您的帮助!
答案 0 :(得分:0)
如您的错误消息所述:creatureBody
是nil
,您正在尝试调用它。你不能那样做。考虑一下这段代码:
if hasParent == 1 then
creature =
{
creatureTitle = parent.creatureTitle;
size = parent.size;
speed = parent.speed;
x = xCoordinates;
y = yCoordinates;
creatureBody = display.newCircle(xCoordinates, yCoordinates, radiusCircle);
creatureBody:setFillColor(parent);
}
else
creature =
{
creatureTitle = creatureIterator;
creatureIterator = creatureIterator + 1;
size = 1;
speed = 1;
x = xCoordinates;
y = yCoordinates;
creatureBody = display.newCircle(xCoordinates, yCoordinates, radiusCircle);
creatureBody:setFillColor(red, green, blue);
}
end
调用setFillColor
时,在本地或全局范围内没有任何creatureBody
可用,这是预料之中的,因为未在提供的代码中的任何地方定义它。
您可以通过例如移出圈子构造函数调用:
local creatureBody = display.newCircle(xCoordinates, yCoordinates, radiusCircle)
creature =
{
creatureTitle = creatureIterator;
creatureIterator = creatureIterator + 1;
size = 1;
speed = 1;
x = xCoordinates;
y = yCoordinates;
creatureBody = creatureBody;
body:setFillColor(red, green, blue);
}
请注意,将setFillColor
的返回值插入creature
中。真的让我怀疑这是否是我们期望的行为。
如果您无法理解为什么creatureBody
不可用或为什么setFillColor
返回将被插入creature
中,请参考Lua Reference Manual §3.4.9。