尝试在love2d游戏中添加水平移动

我尝试在love游戏中添加水平移动,但是我还没有找到方法。这是我的代码。

PADDLE_SPEED = 200
player1 = Paddle(10, 30, 5, 20)
player1 = Paddle(10, 30, 5, 20)
player2 = Paddle(VIRTUAL_WIDTH - 15, VIRTUAL_HEIGHT - 30, 5, 20)
player3 = Paddle(30, 10, 20, 5)
player4 = Paddle(VIRTUAL_WIDTH - 30, VIRTUAL_HEIGHT - 15, 20, 5)
ball = Ball(VIRTUAL_WIDTH / 2 - 2, VIRTUAL_HEIGHT / 2 - 2, 4, 4)

if love.keyboard.isDown('w') then
    player1.dy = -PADDLE_SPEED
elseif love.keyboard.isDown('s') then
    player1.dy = PADDLE_SPEED
else
    player1.dy = 0
end

if love.keyboard.isDown('a') then
    player1.dx = PADDLE_SPEED
elseif love.keyboard.isDown('d') then
    player1.dx = -PADDLE_SPEED
else
    player1.dx = 0
end

if love.keyboard.isDown('a') then
    player1.dx = -PADDLE_SPEED
elseif love.keyboard.isDown('d') then
    player1.dy = PADDLE_SPEED
else
    player1.dx = 0
end

if love.keyboard.isDown('up') then
    player2.dy = -PADDLE_SPEED
elseif love.keyboard.isDown('down') then
    player2.dy = PADDLE_SPEED
else
    player2.dy = 0
end

if love.keyboard.isDown('i') then
    player3.dy = -PADDLE_SPEED
elseif love.keyboard.isDown('k') then
    player3.dy = PADDLE_SPEED
else
    player3.dy = 0
end

if love.keyboard.isDown('g') then
    player4.dy = -PADDLE_SPEED
elseif love.keyboard.isDown('b') then
    player4.dy = PADDLE_SPEED
else
    player4.dy = 0
end

这是我调用的Paddle类

Paddle = Class{}

function Paddle:init(x, y, width, height)
    self.x = x
    self.y = y
    self.width = width
    self.height = height
    self.dy = 0
    self.dx = 0
end

function Paddle:update(dt)
    if self.dy < 0 then
        self.y = math.max(0, self.y + self.dy * dt)
    else
        self.y = math.min(VIRTUAL_HEIGHT - self.height, self.y + self.dy * dt)
    end
end

function Paddle:render()
    love.graphics.rectangle('fill', self.x, self.y, self.width, self.height)
end

尝试单独绘制矩形,但是我必须删除包括player1-4的所有代码。有没有办法将变量,例如PADDLE_SPEED,设置为一个数字?

点赞