2014-04-13 15 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) 

Tôi đã ở trên đoạn mã, Bây giờ nếu tôi gọi hàm newImage, hình ảnh được tải nhưng trong khi tôi cố gắng sử dụng birdie: setAnchorpoint, nó sẽ gây ra lỗi, cố gắng lập chỉ mục birdie, giá trị nil, Làm thế nào tôi có thể sửa lỗi này?Lua: cố gắng lập chỉ mục một giá trị nil

Trả lời

8

Bạn không trả lại bất kỳ thứ gì từ cuộc gọi chức năng của mình. Ngoài ra, sử dụng các biến số local bên trong các hàm.

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

Cảm ơn một tấn :) –

+2

@Simrankaur Tôi thấy bạn đã bắt đầu upvoting, con đường để đi! ;) – Schollii

+1

Vâng, thưa ngài !!!! :) –

Các vấn đề liên quan