Я пытаюсь заставить своего игрока в Love2d прыгать. Он прыгает, да, но вниз. Да, вниз. Как в землю. Мне нужна помощь в этом, я играл с данными так сильно, насколько могу, и до сих пор каждое логическое решение (установка высоты перехода на отрицательное число и т. Д.) Не работает.love2d player прыгает вниз
Вот код, надеюсь, вы, ребята, можете помочь.
-----------------
--- LOVE.LOAD ---
-----------------
function love.load()
love.graphics.setBackgroundColor(92,217,255)
playerIdle=love.graphics.newImage('/sprites/spriteTestIdle.png')
playerLeft=love.graphics.newImage('/sprites/spriteTestFlip.png')
playerRight=love.graphics.newImage('/sprites/spriteTest.png')
player={}
player.image=playerIdle
player.x=400
player.y=303
player.speed=200
player.y_velocity=303
gravity=600
jumpHeight=200
hills=love.graphics.newImage('/sprites/spriteHills.png')
end
-------------------
--- LOVE.UPDATE ---
-------------------
function love.update(dt)
if (player.x>735) then
if (love.keyboard.isDown('left') or love.keyboard.isDown('a') or love.keyboard.isDown('right') or love.keyboard.isDown('d')) then
player.x=player.x-(player.speed*dt)
end
elseif (player.x<-10) then
if (love.keyboard.isDown('left') or love.keyboard.isDown('a') or love.keyboard.isDown('right') or love.keyboard.isDown('d')) then
player.x=player.x+(player.speed*dt)
end
else
if (love.keyboard.isDown('right') or love.keyboard.isDown('d')) then
player.image=playerRight
player.x=player.x+(player.speed*dt)
elseif (love.keyboard.isDown('left') or love.keyboard.isDown('a')) then
player.image=playerLeft
player.x=player.x-(player.speed*dt)
else
player.image=playerIdle
player.x=player.x
end
end
if (player.y_velocity ~= 303) then
player.y = player.y + player.y_velocity * dt
player.y_velocity = player.y_velocity - gravity * dt
if (player.y < 303) then
player.y_velocity = 303
player.y = 303
end
end
end
-----------------------
--- LOVE.KEYPRESSED ---
-----------------------
function love.keypressed(key)
if (key == " ") then
if (player.y_velocity == 303) then
player.y_velocity = jumpHeight
end
end
end
-----------------
--- LOVE.DRAW ---
-----------------
function love.draw()
love.graphics.draw(hills, 0, 0)
love.graphics.draw(player.image, player.x, player.y)
end
Here is основной.love файл.
Да, я пытался публиковать сообщения на форумах love2d, но он не отправил мне электронное письмо активации ... lol. Спасибо за вашу помощь, попробовав это прямо сейчас. – hexagonest
Просто попробовал, не очень хорошо работал с «player.y_velocity = player.y_velocity - gravity * dt», но я изменил его на «player.y_velocity = player.y_velocity + gravity * dt», и он отлично работает! Спасибо :) – hexagonest
Извините, что я испортил - и + = D – jDourlens