【发布时间】:2019-09-23 14:20:30
【问题描述】:
我正在尝试将我的信息封装在一个变量中,但在我的 Corona 文件中工作时遇到了困难。
我已经删除了改变颜色的线,但我仍然遇到某种功能错误
function CreateBeast(parent, hasParent)
hugWall = math.random(4); -- 1 left, 2 top, 3 right, 4 bottom
red = math.random(255);
green = math.random(255);
blue = math.random(255);
if hugWall == 1 then
xCoordinates = 0 + radiusCircle;
yCoordinates = math.random(480);
elseif hugWall == 2 then
xCoordinates = math.random(320);
yCoordinates = 480 - radiusCircle;
elseif hugWall == 3 then
xCoordinates = 320 - radiusCircle;
yCoordinates = math.random(480);
elseif hugWall == 4 then
xCoordinates = math.random(320);
yCoordinates = 0 + radiusCircle;
end
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
return creature
end
creatureArray = {};
for i = 0, starterNumOfCreatures , 1
do
creature = CreateBeast(0,0);
creatureArray[i] = creature;
end
它不断抛出试图访问全局变量的错误。在 for 循环中创建主体颜色时,它特别有一个问题。感谢您的帮助!
【问题讨论】:
-
实际的完整错误消息是什么(全文、行号...)?
-
您在两个表构造函数中引用
creatureBody而不将其定义为变量。也许您打算在定义creature之后调用该方法? -
四循环制作时setFillColor有问题。