2014-04-13 6 views
5
function newImage(Image, posx, posy) 
pic = Bitmap.new(Texture.new(Image)) 
stage: addChild(pic) 
pic:setPosition(posx,posy) 
end 

local birdie = newImage("bird.png", 100, 100) 
birdie:setAnchorPoint(0.5,0.5) 
birdie:setRotation(45) 

Mam powyższy fragment kodu, teraz jeśli zadzwonię do funkcji newImage, obraz zostanie załadowany, ale gdy próbuję użyć birdie: setAnchorpoint, to daje błąd, próbować indeksować birdie, wartość zerowa, Jak mogę to naprawić?Lua: próba indeksowania wartości zerowej

Odpowiedz

8

Nie zwracasz niczego ze swojej funkcji. Ponadto użyj zmiennych local wewnątrz funkcji.

function newImage(Image, posx, posy) 
    local pic = Bitmap.new(Texture.new(Image)) 
    stage: addChild(pic) 
    pic:setPosition(posx,posy) 
    return pic 
end 
+1

Bardzo dziękuję :) –

+2

@Simrankaur Widzę, że zaczęliście przegrywanie, droga! ;) – Schollii

+1

Tak, Sir !!!! :) –