Я создаю ритм-игру. Но я не использую метроном, чтобы вычислять позиции заметок на экране (игровой интерфейс). У меня есть файл с картой заметок, который очень похож на файл субтитров.Инверсия оси z при проецировании в перспективе
Проблема заключается в том, что при проектировании нот в перспективе примечания отображаются неправильно. Кажется, что я перевернул ось Z, и я не могу ее изменить. Я хотел бы знать, как правильно изменить ось, потому что. Или, если кто-то может помочь мне с другим решением, я был бы признателен. Я пробовал разные вещи, но я не способен правильно отображать заметки.
Here is the fiddle и функция, в которой я выполняю расчет перспективы.
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);
}
});
}
Заранее спасибо.
Трудно знать, что вы хотите. При угадывании попробуйте 'ball.y = height - notePosition * scale;' – Blindman67
Спасибо, что ответили, что я пытаюсь сделать заметки издалека, в качестве следующей [ссылки] (https://www.youtube.com/смотреть? v = hCumqHZ0Yi8) –