Canvas [Столкновение]
я извиняюсь, что так часто создаю темы, но, иначе никак( начал писать игры на канвасе, и, вот что-то не получается
вот маленькая игра - http://jsfiddle.net/qwc8yrk5/ нужно рассчитать столкновения со стенами, целый день сижу, и нифига не получается(( помогитееее |
Графика на JavaScript — Рафаэлло Чекко
там есть все что тебе нужно =))) |
Код проверки столкновения
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); Но, как останавливать персонажа при соприкосновении с блоком я ещё не знаю, вот сейчас сижу и думаю... А пока, это- всё чем я могу помочь, вот сейчас специально авторизовался, чтобы ответить... |
Часовой пояс GMT +3, время: 08:01. |