0
나는 Love2d에서 내 플레이어를 점프하려고합니다. 그는 그래,하지만 아래쪽으로 점프. 그래, 아래쪽으로. 땅속처럼. 이 문제를 해결하는 데 도움이 필요합니다. 최대한 많은 데이터를 가지고 놀았으며, 지금까지 모든 논리적 솔루션 (점프 높이를 음수로 설정하는 등)이 작동하지 않습니다.아래로 점프하는 love2d 플레이어
여기 코드가 있습니다. 사람들이 도울 수 있기를 바랍니다.
-----------------
--- 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 main.love 파일.
그래, 나는 love2d 포럼에 게시하려했지만 그게 내게 활성화 이메일을 보내지 않을거야 ... 권자. 도와 줘서 고마워, 지금 당장 시험해 봐. – hexagonest
그냥 "player.y_velocity = player.y_velocity - gravity * dt"로는 잘 작동하지 않았지만 "player.y_velocity = player.y_velocity + gravity * dt"로 변경하고 완벽하게 작동합니다! 감사합니다 :) – hexagonest
죄송합니다 - 어쨌든, 덕분에 + – jDourlens