Communauté

Impossible d'avance...
 
Notifications
Retirer tout

[Résolu] Impossible d'avancer dans certaines directions : " Atelier : Inertie et rotation Les bases d’un Lunar Lander en Love2D"

1 Posts
1 Utilisateurs
0 Likes
29 Vu
0
Début du sujet

J'ai recopié attentivement ce code deux fois en suivant la vidéo mais rien à faire quand je veux que le vaisseau monte, il avance (un tout petit peu), il avance seulement plus vite, quand on incline l'objet vers le haut à gauche, ça ne fonctionne pas en haut à droite. Si je l'incline vers la droite, il tombe.

-- Cette ligne permet d'afficher des traces dans la console pendant l'éxécution
io.stdout:setvbuf('no')

local Lander = {}
Lander.x = 0
Lander.y = 0
Lander.angle = -90
Lander.vx = 0
Lander.vy = 0
Lander.speed = 3
Lander.engineOn = false
Lander.img = love.graphics.newImage("images/ship.png")
Lander.imgEngine = love.graphics.newImage("images/engine.png")

function love.load()
largeur = love.graphics.getWidth()
hauteur = love.graphics.getHeight()

Lander.x = largeur/2
Lander.y = hauteur/2
end

function love.update(dt)
Lander.vy = Lander.vy + (0.6 * dt)

if love.keyboard.isDown("right") then
Lander.angle = Lander.angle + (90 * dt)
end
if love.keyboard.isDown("left") then
Lander.angle = Lander.angle - (90 * dt)
end
if love.keyboard.isDown("up") then
Lander.engineOn = true

local angle_radian = math.rad(Lander.angle)
local force_x = math.cos(angle_radian) * (Lander.speed * dt)
local force_y = math.sin(angle_radian) * (Lander.speed * dt)
Lander.vx = Lander.vx + force_x
Lander.vy = Lander.vx + force_y
else
Lander.engineOn = false
end

Lander.x = Lander.x + Lander.vx
Lander.y = Lander.y + Lander.vy
end

function love.draw()

love.graphics.draw(Lander.img, Lander.x, Lander.y,
math.rad(Lander.angle), 1, 1, Lander.img:getWidth()/2, Lander.img:getHeight()/2)

if Lander.engineOn == true then
love.graphics.draw(Lander.imgEngine, Lander.x, Lander.y,
math.rad(Lander.angle), 1, 1, Lander.imgEngine:getWidth()/2, Lander.imgEngine:getHeight()/2)
end
end

1 Réponse
0
Début du sujet

ok, j'ai trouvé l'erreur (Lander.vy = Lander.vx + force_y)...

Répondre
Share:

Dialoguez avec les autres membres de la gamecodeur school.

Accédez maintenant à notre serveur Discord privé : Entraide, Game Jams, Partage de projets, etc.

Vous devez être membre de la Gamecodeur School Premium pour être autorisé à accéder au serveur.