2013-03-10 50 views
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; 

的結果是正確的。 此外,car1.x是零,我不明白,如何img有自己的座標沒有父母的。 我應該在set()函數中寫什麼來給我的汽車參考階段x和y?是否有可能真的讓它參考,而不是img?

回答

1

你應該調用構造函數沒有冒號

local car1=pcar.new(200,200); 
+0

,並有可能移動轎廂基準本身? – user2136963 2013-03-10 09:02:29