【Love2d从青铜到王者】第十篇Love2d之类和类的继承(Classes And Inheritance)

本文深入探讨了Love2D框架中基于Lua的类和继承概念。通过示例,解释了如何使用classic库创建和扩展类,以及如何通过类创建独特对象。文章还介绍了构造函数、实例化、语法糖以及继承机制,强调了继承在游戏开发中的重要性,特别适合初学者理解游戏开发中的类和继承原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

系列文章目录


文章目录


前言

在这里插入图片描述


??一、类(Classes)

1.类(Classes)

  • Classes 就像蓝图。您可以用一个Classes 创建多个房屋。类似地,我们可以从一个类中创建多个对象。
    在这里插入图片描述

  • 对于Classes ,我们将使用一个库:Classic

在这里插入图片描述

  • 点击classic.lua然后按行的复制代码。

在这里插入图片描述

  • 转到文本编辑器,创建一个名为classic.lua然后粘贴代码。

  • 现在我们必须require它。

    function love.load()
    Object=require “classic”
    end

    function love.update(dt)
    end

    function love.draw()
    end

  • 现在我们已经准备创建一个类。创建一个名为rectangle.lua,并放入以下代码:

    –! file: rectangle.lua

    – Pass Object as first argument.
    Rectangle = Object.extend(Object)

    function Rectangle.new(self)
    self.test = math.random(1, 1000)
    end

  • 一切都会得到解释。但是首先将这段代码放入main.lua

    –! file: main.lua
    function love.load()
    Object = require “classic”
    –Don’t forget to load the file
    require “rectangle”

    r1 = Rectangle()
    r2 = Rectangle()
    print(r1.test, r2.test)
    

    end

    function love.update(dt)
    end

    function love.draw()
    end

在这里插入图片描述

  • 当您运行游戏时,您将看到打印了2个随机数。

  • 所以让我们一步一步地看这段代码。首先,我们用Rectangle = Object.extend(对象)。这使得Rectangle成为一个Classes 。这将是我们的蓝图。与属性相反,Classes 通常用大写字符编写**(因此这将是upperca

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值