oop - Corona SDK 如何向显示对象添加自定义方法

标签 oop lua coronasdk

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

我写了下面的代码,但没有用;然而,它解释了我需要什么

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


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

我希望“foo”方法不仅适用于 myRectangle,还适用于所有 DisplayObjects?

最佳答案

示例如下。未经测试但应该工作。然后它将可用于所有 newRect 调用。您必须对所有显示执行此操作。* 但是您希望使用的调用

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/

相关文章:

linux - 在 linux mint 上安装 lapis(与 lua 5.3 一起)

c++ - Lua就地初始化表顺序

c++ - Lua 5.2 重定向打印函数

lua - 我想为图像设置边框或描边,在 corona sdk 中可以吗?

android - 如何检查物体是否在 corona sdk 中向下加速?

c++ - 将数据类型作为字符串放入模板参数中 - C++

oop - 何时以及如何为 DDD 中的实体分配唯一 ID?

jQuery 范例?

java - 如何将变量传递给使用 lambda 作为匿名函数创建的线程的 Runnable?

android - 已经知道 iphone,想瞄准 Android,最佳方法?