【问题标题】:Why require return boolean value in Lua(cocos2d-x)为什么需要在 Lua(cocos2d-x) 中返回布尔值
【发布时间】:2014-08-21 03:11:10
【问题描述】:

我打印require("Square"),但它返回true,我收到attempt to index local 'r' 错误,为什么它不返回cc.Scene? 如何处理?

Square.lua

require "Cocos2d"
require "Cocos2dConstants"

local Square = class("Square",function()
    return cc.Scene:create()
end)

function Square.create()
    local square = Square.new()

    return square
end
function Square:ctor()
    self.visibleSize = cc.Director:getInstance():getVisibleSize()
    self.x = cc.Director:getInstance():getVisibleOrigin().x
    self.y = cc.Director:getInstance():getVisibleOrigin().y
    self.schedulerID = nil
end

在其他文件中调用 Square.lua

local r = require("Square")
local square = r.create()
print("square = "..string.format("%s",square))

【问题讨论】:

  • 文件底部需要return Square

标签: module lua cocos2d-x


【解决方案1】:

要么返回文件底部的模块表:

return Square

或者使用将模块表直接赋值给package.loaded

package.loaded[...] = M

在我看来,第一个看起来更清晰。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 2021-05-21
    • 2014-03-20
    • 1970-01-01
    相关资源
    最近更新 更多