在父对象中检查值
2016-8-24 18:15:0
收藏:0
阅读:89
评论:1
最近,我一直在做游戏项目,并决定学习如何在love2d中从头开始制作gui。我决定使用oop,在菜单对象中有菜单对象和按钮对象。我有一个问题,我只想在菜单处于活动状态时绘制按钮。这可能是最简单/最好的方法是在菜单对象中有一个函数来检查菜单是否处于活动状态,并在这种情况下绘制按钮,例如...
menu = {
-- 菜单内容
button = require("path")
active = false,
buttons = {}
}
function menu.newButton()
--从按钮表中创建新的按钮对象
end
function menu:drawButton()
if self.active then
for k,v in pairs(buttons)
menu.buttons[k]:draw() -- 一些绘制函数,设置按钮的大小、位置和颜色
end
end
end
这让我想知道。有没有一种方法从按钮表中的函数中检查菜单表中的值?
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

你可以使用组合技术从一个按钮对象中访问菜单对象的属性。要实现这个,你需要在创建每个新按钮时将
menu对象的引用传递给按钮对象。例如:Button = {} function Button.new (menu) return setmetatable({menu = menu}, {__index = Button}) end function Button:getMenuName() return self.menu.name end menu = { name = "menu1", buttons = {}, } function menu:newButton () local button = Button.new(self) table.insert(self.buttons, button) return button end local btn = menu:newButton() print(btn:getMenuName())将打印
btn对象从menu对象中的name属性。