我在学习lua的OOP方面还有另外一个问题,我似乎无法自己找到解决方案。
我有两个类:第一个是你可以在这里看到的网格类:
我还有另一个名为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,能够从播放器访问我的网格,我尝试了几件事,比如将网格作为全局或将网格作为参数传递,但一切都失败了。
再次感谢!