Показать сообщение отдельно
  #3 (permalink)  
Старый 15.06.2018, 21:57
Новичок на форуме
Отправить личное сообщение для Кента Посмотреть профиль Найти все сообщения от Кента
 
Регистрация: 15.06.2018
Сообщений: 2

Код проверки столкновения
function collides(player1, player2) {
var hit = !(player1.position[0] + player1.width < player2.position[0] ||
player2.position[0] + player2.width < player1.position[0] ||
player1.position[1] + player1.height < player2.position[1] ||
player2.position[1] + player2.height < player1.position[1]);

if(hit) {
return true;
} else {
return false;
}
}


Где player1, там первый объект, где player2- второй объект.
Если два объекта столкнулись, тогда возвратится значение "true".

Вот например:
if(collides(player, block)) {
console.log("!!!");
}


НО!
Оба этих объекта должны выглядеть примерно так:
{
width: 100,
height: 100,

position: [
100,
100
]
}

Т.е. иметь width, height и массив position с координатами.

Этот код можно засунуть в таймер (вечный цикл), чтобы ПОСТОЯННО, когда персонаж касался блока выводилось сообщение:

setInterval(function() {
if(collides(player, block)) {
console.log("!!!");
}
}, 0);


Но, как останавливать персонажа при соприкосновении с блоком я ещё не знаю, вот сейчас сижу и думаю...

А пока, это- всё чем я могу помочь, вот сейчас специально авторизовался, чтобы ответить...
Ответить с цитированием