我想添加自定义方法来显示对象,例如预建方法,例如“setFillColor”

我写了以下不起作用的代码;然而,它解释了我需要什么

function display:foo(bar)
    print(bar)
end


local myRectangle = display.newRect( 0, 0, 150, 50 )
myRectangle:foo("something to be printed")

我希望“foo”方法为所有 DisplayObjects 准备好,而不仅仅是 myRectangle?

最佳答案

下面举例。未经测试,但应该工作。然后它将可用于所有 newRect 调用。您必须为所有 display.* 调用您希望使用的调用

local oldNewRect = display.newRect

function display.newRect( ... )
    local rect = oldNewRect( ... )

    function rect:foo( str )
        print( str )
   end

    return rect
end

-- usage

local rect = display.newRect( 0, 0, 40, 40 )
rect:foo( "hello" ) -- prints "hello"

关于oop - Corona SDK 如何向显示对象添加自定义方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24597457/

10-11 04:01