Lua oop中产阶级用随机x坐标繁殖敌人

Lua oop中产阶级用随机x坐标繁殖敌人,oop,object,random,lua,love2d,Oop,Object,Random,Lua,Love2d,我用lua/LÖVE制作了一个游戏,我使用了面向对象的中间类库,但我有一个问题,我的游戏是一个带有基类“实体”、子类“玩家”和“流星”(用随机x坐标从屏幕顶部坠落的敌人)的太空射击游戏,但我不知道如何为流星创建随机繁殖系统(随机x坐标) meteor.lua=gameState.lua= (游戏档案) 每次我启动游戏时,流星物体的x坐标都是相同的,我想每2秒产生一颗带有随机x坐标的流星,但我不知道怎么做。我想我做错了什么,但我不知道/ function Meteor:initialize()

我用lua/LÖVE制作了一个游戏,我使用了面向对象的中间类库,但我有一个问题,我的游戏是一个带有基类“实体”、子类“玩家”和“流星”(用随机x坐标从屏幕顶部坠落的敌人)的太空射击游戏,但我不知道如何为流星创建随机繁殖系统(随机x坐标)

meteor.lua=gameState.lua=

(游戏档案)

每次我启动游戏时,流星物体的x坐标都是相同的,我想每2秒产生一颗带有随机x坐标的流星,但我不知道怎么做。我想我做错了什么,但我不知道/

function Meteor:initialize()
  self.speed = 400
  meteorWidth = 45
  meteorHeight = 40
  self.x = love.math.random(0, WINDOW_WIDHT - meteorWidth)
  meteorY = 0 - meteorWidth
  Entity.initialize(self, self.x, meteorY, 64, 64, love.graphics.newImage('assets/meteor.png'))
end
在此之后,我还想删除屏幕外的对象。我知道如何在没有oop的情况下删除,但在oop的情况下,我被卡住了

提前谢谢你


我应该如何创建随机繁殖系统?我应该从gameState.lua文件中的meteor类蓝图创建多个对象meteor吗?

在游戏开始时调用
love.math.setRandomSeed(os.time())
一次。(LOVE2D是否有
os.time
)我想是的。如果不是,你可以使用其他东西,比如电池剩余秒数或一些最近的触摸坐标,至少获得一点变化。Love的数学库自动初始化随机种子,它是不需要的。
WINDOW\u widt
只是一个输入错误吗?(这就是为什么要将所有相关源粘贴到问题中!)按预期工作。如果
love.math.random
调用的第二个参数以某种方式结束为
nil
,则问题可能会出现。对于当前代码,它应该抛出错误(尝试对…nil执行算术)。
function Meteor:initialize()
  self.speed = 400
  meteorWidth = 45
  meteorHeight = 40
  self.x = love.math.random(0, WINDOW_WIDHT - meteorWidth)
  meteorY = 0 - meteorWidth
  Entity.initialize(self, self.x, meteorY, 64, 64, love.graphics.newImage('assets/meteor.png'))
end