Lua类在它们之间进行交互

时间:2014-06-11 14:50:56

标签: class oop lua interaction

我在学习lua的OOP方面还有另外一个问题,我似乎无法自己找到解决方案。

我有两个类:第一个是你可以在这里看到的网格类:

My grid class

我还有另一个名为player的课程:

require('scripts.character.Character')
require('scripts.grid.Grid')
local screen = require( 'data.screen')
Player = {}
Player_mt = { __index = Player }

--- Constructs a new Character object.


function Player:new(  params )

    local self = {}

    setmetatable( self, Player_mt )

    -- Create the player visual
    self._visual = display.newImageRect( params.group, "images/player.png", screen.tileWidth, screen.tileHeight )
    self.types = "player"

    local function try( event)

       --I'm trying to use a grid method here!
    end


    self._visual.tap = try
    self._visual:addEventListener( "tap", self._visual )


    return self

end

setmetatable( Player, Character_mt )

我在网格类中添加了一个方法:

function Grid:resetColor()
    for x = 1, screen.tilesAcross  do
        for y = 1, screen.tilesDown do
            grid:setColor(x, y)
        end
    end
end

我认为我不能在播放器中执行此操作,因为我没有播放器可以访问的网格对象。

在我的主要内容中,我使用我的网格类:

local grid = Grid:new({group = gridgroup})

和这样的球员:

character[i][j] = Player:new( { group = playergroup}  )

如何连接2,能够从播放器访问我的网格,我尝试了几件事,比如将网格作为全局或将网格作为参数传递,但一切都失败了。

再次感谢!

0 个答案:

没有答案