注册 登录
编程论坛 Lua论坛

建立对象报错

Michael_ali 发布于 2015-05-18 15:05, 5385 次点击

function newAnimal(name)
    local animal={
        name="unknown",
        says="pffft",
        position={x=0,y=0}
    }
    animal.name=name;
    if name=="cat" then
        animal.says="meow"
    elseif name=="dog" then
        animal.says="bow bow"
    elseif name=="mouse" then
        animal.says="squeak"
    end
   
    function animal:speak()
        print(animal.says)
    end
   
    function animal:move(speed)
        animal.position.x=animal.position.x+speed
    end
   
    return animal
end

cat_01=animal.new("cat")
cat_01:speak()
2 回复
#2
Michael_ali2015-05-18 15:25
请问这段代码有什么错误呢
#3
shfit3202017-01-18 11:43
animal.new("cat")

animal 类未定义

可通过 newAnimal("cat") 创建你的对象
1