在corona中创建一个带有图像的类

我正在尝试基于这个例子在 corona 中创建自己的类。

代码如下:

local car={};
local car_mt = { __index=car };
function car.new()
    local ncar=
    {
        img=display:newImage("test_car.png");
    }
    return setmetatable(ncar,car_mt);
end
return car;

通过以下方式在代码中调用:

local pcar=require("car")
...
function scene:enterScene( event )
    local group = self.view
    physics.start();
    local car1=pcar.new();

end

虽然图片存在于相同的文件夹中,但我收到了以下错误信息:

bad argument #-2 to newImage (Proxy expected, got nil)

我在网上看到了一些类似的问题,似乎 newImage() 不知道该将图片放在哪里。但是,如果该类用于任何舞台,我该如何设置?

点赞
用户1190388
用户1190388

哦,错误是因为你正在调用newImage函数,如下所示:

display:newImage("test_car.png")

这是错误的语法。上述语句实际上意味着:

display.newImage(display, "test_car.png")

很明显是错误的。

正确的方法应该是:

display.newImage("test_car.png")

这里了解更多有关[Corona](/questions/tagged/corona “显示标记为“corona”的问题”) API的信息。

2013-03-09 19:17:38