Персонаж проходит через стену в одну сторону, но не в другую.CSS

Разбираемся в CSS
Ответить Пред. темаСлед. тема
Anonymous
 Персонаж проходит через стену в одну сторону, но не в другую.

Сообщение Anonymous »

Я программирую простую «игру», представляющую собой всего лишь блок, который может прыгать. Я разместил стену, но теперь персонаж перемещается вправо при движении вправо, но столкновение работает при движении вправо.
Все остальные части в порядке. функция willImpactMovingLeft работает нормально и должна быть зеркалом willImpactMovingRight, но right не работает.
простой рабочий код для этого примера:

Код: Выделить всё






var runSpeed = 5;var CUBE = document.getElementById("cube");var immovables = ["ground1", "ground2"];let Key = {pressed: {},left: "ArrowLeft",right: "ArrowRight",isDown: function (key){return this.pressed[key];},keydown: function (event){this.pressed[event.key] = true;},keyup: function (event){delete this.pressed[event.key];}}
window.addEventListener("keyup", function(event) {Key.keyup(event);});
window.addEventListener("keydown", function(event) {Key.keydown(event);});
setInterval(()=>{
if (Key.isDown(Key.left)){
if(willImpactMovingLeft("cube", immovables)!=false){
cube.style.left = willImpactMovingLeft("cube", immovables)+"px";
}else{
cube.style.left = CUBE.offsetLeft - runSpeed +"px";
}
}
if (Key.isDown(Key.right)){
if(willImpactMovingRight("cube", immovables)!=false){
cube.style.left = willImpactMovingRight("cube", immovables)+"px";
}else{
cube.style.left = CUBE.offsetLeft + runSpeed +"px";
}
}
}, 10);
function willImpactMovingLeft(a, b){
var docA = document.getElementById(a);
var docB = document.getElementById(b[0]);
for(var i=0;idocB.offsetTop&&docA.offsetTopdocB.offsetTop&&docA.offsetTop+docA.offsetHeightdocB.offsetLeft+runSpeed){
if(docA.offsetLeft-runSpeed

Подробнее здесь: [url]https://stackoverflow.com/questions/78250108/character-phases-through-wall-one-way-but-not-the-other[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Персонаж застревает при столкновении с возвышением и стенами — невозможно двигаться в сторону
    Anonymous » » в форуме C#
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Эффект согласованной геометрии в одну сторону
    Anonymous » » в форуме IOS
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • CSS3 Преобразование наклона в одну сторону
    Anonymous » » в форуме CSS
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Пончик с закругленными в одну сторону краями и белой каймой между сегментами.
    Anonymous » » в форуме Jquery
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Матрица путаницы, отображающая только одну сторону для модели прогнозирования
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «CSS»