Javascript.RU

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

JavaScript [Canvas - collision]
хочу, чтобы обрабатывались столкновения, но че-то функция неправильно работает - при столкновении уже дальше не идет... допишите пожалуйста
http://jsfiddle.net/3c4093p4/
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2015, 20:05
Аспирант
Отправить личное сообщение для accept Посмотреть профиль Найти все сообщения от accept
 
Регистрация: 19.06.2014
Сообщений: 34

19 просмотров.. и никто не знает как это сделать???
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2015, 21:12
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Знают конечно же.
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2015, 21:17
Аспирант
Отправить личное сообщение для accept Посмотреть профиль Найти все сообщения от accept
 
Регистрация: 19.06.2014
Сообщений: 34

Сообщение от MallSerg Посмотреть сообщение
Знают конечно же.
и как же?? допишите плиз.. целые 3 часа уже сижу(
Ответить с цитированием
  #5 (permalink)  
Старый 28.01.2015, 00:20
Профессор
Отправить личное сообщение для caetus Посмотреть профиль Найти все сообщения от caetus
 
Регистрация: 23.09.2014
Сообщений: 197

я сейчас не особо трезв , но точно могу сказать что у тебя проблема здесь

function check(){
	if(	player.x + player.width >= block.x &&
		player.x <= block.x + block.width &&
		player.y + player.height >= block.y &&
		player.y <= block.y + block.height){
		return false; // постав здесь true и стены не будет )))
	}
	return true;
}


когда у блока происходит столкновения то он после этого всегда возвращает false , тебе нужно сначала в проверке додавать и отнимать и если возвращаеться true тогда перемещать блок.

Последний раз редактировалось caetus, 28.01.2015 в 00:24.
Ответить с цитированием
  #6 (permalink)  
Старый 28.01.2015, 01:11
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

accept,решения:
1) [самое примитивное] решение увеличить шаг в верх методом подбора
2) когда расстояние до блока <= шагу то при нажатие в сторону блока квадрат прилипает к нужно стороне блока ( так как если изменить шаг то будет так http://jsfiddle.net/3c4093p4/1/ ), что бы не было проблемы с колизиями на углах с верху или низу, варианты:
1) представить весь canvas как сетку, и тогда шаг квалрата будет равен к примеру одна клеточка, а конечный блок 3 клетки и тогда не будет проблема.

2) проверять если 95% квадрата находятся выше/ниже блока то смещать на не достающее растояние в верх/низ + в нужную сторону


ваша функция фигня
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34