Je crée un jeu de rythme. Mais je n'utilise pas le métronome pour calculer les positions des notes sur l'écran (interface du jeu). Ce que j'ai est un fichier avec une carte de notes qui ressemble beaucoup à un fichier de sous-titres.Inverser l'axe z, lors de la projection en perspective
Le problème est que lorsque je projette les notes en perspective, les notes ne sont pas affichées correctement. Il semble que j'ai inversé l'axe Z et je ne peux pas le changer. Je voudrais savoir comment changer l'axe correctement car. Ou si quelqu'un peut m'aider avec une autre solution, j'apprécierais. J'ai essayé différentes choses mais je ne suis pas capable de faire apparaître correctement les notes.
Here is the fiddle, et la fonction où j'exécute le calcul de la perspective.
function updateNotes() {
currentPosition = (sound.seek() * 1000);
notes.forEach(function(note, index) {
var notePosition = (currentPosition * noteSpeed) - ((note.position * noteSpeed) - deadLine);
if (notePosition > offScreenY && notePosition < height) {
var ball = new Ball3d(5, '#000000');
var scale = fov/(fov + notePosition);
console.log(notePosition);
ball.x = halfWidth;
ball.y = halfHeight + notePosition * scale;
ball.scaleX = ball.scaleY = scale;
ball.draw(context);
balls.push(ball);
} else {
// elimino la nota
balls.splice(index, 1);
}
});
}
Merci d'avance.
Difficile de savoir ce que vous voulez. A une estimation, essayez 'ball.y = height - notePosition * scale;' – Blindman67
Merci d'avoir répondu, ce que j'essaie, c'est que les notes viennent de loin, comme le [référence] suivant (https://www.youtube.com/regarder? v = hCumqHZ0Yi8) –