Love2d和Lua中的继承

2024-01-31

我有一个包含这组值和函数的类:

require("class")

entity = class:new()

function entity:new()
    self.x = 100
    self.y = 100
    self.width = 32
    self.height = 32
    self.info = "entity"
    self.alive = true
    self.color = {r = 255, g = 0, b = 0}

    return self
end

function entity:load()
end

function entity:update()
    if self.alive then
    end
end

function entity:draw()
    if self.alive then
        love.graphics.setColor(self.color.r, self.color.g, self.color.b)
    end
end

function entity:destroy()
    self.alive = false
end

我希望能够将这些相同的函数和值简单地用于其他类,如下所示:

require("entity")

local player = entity:new()

function player:load()
   self.color.r = 100
end

function player:update()
end
--etc etc

我有 Flash 和 As3 背景,如果你们知道的话,您可能或多或少地理解我正在尝试做的事情。 那么有人可以帮我解决这个问题吗?感谢所有帮助。


你可以用这个类系统 https://love2d.org/wiki/Simple_Educative_Class_System获得您想要的体验。 (请务必复制完整版本的代码)。

你的代码看起来像这样:

require("class")

entity = class()

entity.x = 100
entity.y = 100
entity.width = 32
entity.height = 32
entity.info = "entity"
entity.alive = true
entity.color = {r = 255, g = 0, b = 0}


function entity:load()
end

function entity:update()
    if self.alive then
    end
end

function entity:draw()
    if self.alive then
        love.graphics.setColor(self.color.r, self.color.g, self.color.b)
    end
end

function entity:destroy()
    self.alive = false
end

第二个文件:

require("entity")

local player = class()
player:addparent(entity)

function player:load()
   self.color.r = 100
end

function player:update()
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Love2d和Lua中的继承 的相关文章

  • 有没有办法在Python中调用子类定义的方法?

    The init 方法定义了创建类的实例时要执行的操作 创建子类时我可以做类似的事情吗 假设我有抽象类Entity class Entity def onsubclasscreation cls for var in cls annotat
  • 从具有 Holo 父主题的 Theme.Light 继承 editText

    我想继承editText from android Theme而我的父主题是android Theme Holo Light 有没有什么 干净 的方法可以将资源从 android sdk 文件夹复制到我的项目中 所以我的想法是有一个自定义主
  • 理解Python中的元类和继承[重复]

    这个问题在这里已经有答案了 我对元类有一些困惑 具有继承性 class AttributeInitType object def init self kwargs for name value in kwargs items setattr
  • Java 接口合成方法生成,同时缩小返回类型

    我有 2 个接口和 2 个返回类型 interface interfaceA Publisher
  • 是否有可能成为内置类型的虚拟子类?

    是否可以使用户定义的类型成为Python中内置类型的虚拟子类 我希望我的班级被视为以下类别的子类int 但是 我don t想像这样直接继承 class MyInt int Do some stuff kind of like an int
  • 在C++中初始化抽象基类的子类数组

    我有一个 C 抽象基类 需要创建一个数组来存储它的子类对象 我使用指向子类的指针 因为数组的每个成员都需要具有相同的大小 目前我正在声明并初始化我的数组 如下所示 BaseClass array array SubClass1 SubCla
  • 在 C# 中将“set”添加到接口的属性中

    我希望通过为该接口中的属性提供设置访问器来 扩展 该接口 界面看起来像这样 interface IUser string UserName get 我想要这样的东西 interface IMutableUser IUser string U
  • 在Lua中获取前一天的日期

    谁能告诉我如何使用 Lua 获取 YYYY MM DD 格式的前一天日期 即 一个片段 它将返回运行当天的前一天的日期 Try print os date Y m d os time 24 60 60 严格来说 这只能保证在 POSIX 系
  • 安装Lua套接字库

    要么我太累了 要么我瞎了 我想学习 Lua 网络 因此我必须安装socketlib 所以我可以轻松地要求它 但我不知道我应该 要求 哪些文件 例子说 local socket require socket 但正如我所说 如果我使用 我不知道
  • C++:重写由另一个方法调用的受保护方法

    我有一个关于 C 继承的非常基本的问题 class A public void foo print protected void print class B public A protected void print std cout lt
  • 单表继承发现问题

    我有以下3个rails类 它们都存储在一张表中 使用rails的单表继承 class Template lt ActiveRecord Base class ThingTemplate lt Template class StockThin
  • Lua中按字符分割字符串

    我有像这样的字符串 ABC DEF 我需要将它们分开 字符并将两个部分分别分配给一个变量 在 Ruby 中 我会这样做 a b ABC DEF split 显然Lua没有这么简单的方法 经过一番挖掘后 我找不到一种简短的方法来实现我所追求的
  • 如何确保超类的子类方法的线程安全?

    我参加了一次面试 并被要求为以下要求设计一个课程 假设我有一个 A 类 它可以有任意数量的子类 即子类 类 A 有一个名为 doSomething 的方法 该方法是同步的 要求是 A 的所有子类都是强制性的重写 doSomething me
  • Lua 将字符串转换为数字 - 取决于语言环境

    刚刚注意到字符串 and tonumber 在 Lua 中是依赖于语言环境的 知道如何在不使用的情况下将字符串转换为数字tonumber 谢谢 例如将字符串 58 5 转换为 58 5 另外 当我尝试将带点的数字传递给函数时 该函数会转换
  • C# 中的继承树和受保护的构造函数

    给定以下继承树 以有效的方式实现它的最佳方法是什么 abstract class Foo
  • 未调用 C++ 重写函数

    我遇到了一个问题 即未调用重载函数 而是调用了基函数 我怀疑这与项目文件之间的划分方式有关 在文件 obj1 h obj1 cpp 中我有这样的东西 class obj1 public void print void obj1 print
  • C++中的虚继承是什么

    假设我有这样的代码 class A class B virtual public A class C virtual public A class D public B public C virtual public A If D继承B a
  • 子类 B 继承自模板类 A [重复]

    这个问题在这里已经有答案了 我最近偶然发现了如下代码 但我无法理解它 template
  • C# - 继承WPF布局 - Window from Window

    我的 Window 继承有问题 我不明白问题是什么 我认为 我的布局 MediaLibrary xaml 必须继承 MainWindow 但我不知道该怎么做 有2类 主窗口 xaml
  • 子类构造函数(JAVA)中的重写函数[重复]

    这个问题在这里已经有答案了 为什么在派生类构造函数中调用超类构造函数时 id 0 当创建子对象时 什么时候在堆中为该对象分配内存 在基类构造函数运行之后还是之前 class Parent int id 10 Parent meth void

随机推荐