0

私は車のクラスを持っています:

local car={};
local car_mt = { __index=car };
function car.new(_x, _y)
    local ncar=
    {
        img=display.newImageRect("test_car.png",50,120,true);
    }
    function ncar:set()
        self.img.xOrigin=_x;
        self.img.yOrigin=_y;
    end
    ncar:set();
    return setmetatable(ncar,car_mt);
end
return car;

これで呼び出すと:

local pcar=require("car")
local car1=pcar:new(200,200);

xの動きは機能しません。xOrigin と yOrigin を x と y に変更しても問題ありません。しかし、私がこのように呼び出すと:

local pcar=require("car")
local car1=pcar:new(200,200);
car1.img.x=200;
car1.img.y=200;

結果はOKです。その上、 car1.x は nil であり、親の座標なしで img が独自の座標を持つ方法がわかりません。車の参照にステージ x と y を与えるには、set() 関数に何を記述すればよいですか? そして、それをimgではなく参照に与えることは本当に可能ですか?

4

1 に答える 1

1

コロンなしでコンストラクターを呼び出す必要があります

local car1=pcar.new(200,200);
于 2013-03-10T08:51:40.607 に答える