Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.01.2015, 22:13
Аспирант
Отправить личное сообщение для accept Посмотреть профиль Найти все сообщения от accept
 
Регистрация: 19.06.2014
Сообщений: 34

Canvas [Столкновение]
я извиняюсь, что так часто создаю темы, но, иначе никак( начал писать игры на канвасе, и, вот что-то не получается
вот маленькая игра - http://jsfiddle.net/qwc8yrk5/
нужно рассчитать столкновения со стенами, целый день сижу, и нифига не получается(( помогитееее
Ответить с цитированием
  #2 (permalink)  
Старый 26.01.2015, 22:28
Профессор
Отправить личное сообщение для caetus Посмотреть профиль Найти все сообщения от caetus
 
Регистрация: 23.09.2014
Сообщений: 197

Графика на JavaScript — Рафаэлло Чекко
там есть все что тебе нужно =)))
Ответить с цитированием
  #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);


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

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повтор фото (getUserMedia(),HTML5 Canvas) aspex Элементы интерфейса 1 27.12.2014 16:46
Canvas картинка с обесцвечиванием. cheba Общие вопросы Javascript 9 31.05.2013 09:13
canvas и drawImage() jussik Элементы интерфейса 0 27.10.2012 16:57
Создание экземпляра Canvas не затрагивая HTML Tails Общие вопросы Javascript 2 09.03.2012 13:55
Добавить на canvas еще один елемент greengarlic Общие вопросы Javascript 5 22.09.2010 10:16