Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.10.2016, 23:36
Новичок на форуме
Отправить личное сообщение для Cubbat Посмотреть профиль Найти все сообщения от Cubbat
 
Регистрация: 24.01.2016
Сообщений: 4

Сравнение значений массивов в мини-игре
На досуге пишу небольшую игру. Есть 2 массива: nodes (блоки) и objects (шары). Нужно проверить столкновение какого-либо шара с каким-либо блоком. Функция идет через requestAnimationFrame.
function() {
		for (var i in grid.nodes) {
			for (var j in this.objects) {
				var enemy = grid.nodes[i];
				var ball = this.objects[j];
				if (isColl(ball.x-1,ball.y-1,ball.w+1,ball.h+1,enemy.x,enemy.y,enemy.w,enemy.h)) {
					if (ball.x > enemy.x && ball.x < enemy.x + enemy.w && (ball.y > enemy.y || ball.y < enemy.y)) {
						ball.ay *= -1;
					};
					if (ball.y < enemy.y + enemy.h && ball.y > enemy.y && (ball.x < enemy.x || ball.x > enemy.x)) {
						ball.ax *= -1;
					}
				}
			} 
		}
};

Сначала идет проверка на пересечение (isColl(), хитбокс на 1 пиксель больше шара), потом на положение относительно блока и изменение скорости. Как бы работает, но иногда проверка не успевает, и шар не отскакивает от блока( Как это исправить, что почитать/посмотреть, или же вовсе использовать другой алгортим? Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 18.10.2016, 05:25
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от Cubbat
но иногда проверка не успевает

Подними тактовую частоту процессора. Тебе в разгон пекарни. )

В твоем коде нет тайминга, только расчеты хавающие какое-то время, которое теоретически может оказаться больше длительности кадра.
Ответить с цитированием
  #3 (permalink)  
Старый 18.10.2016, 08:13
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Cubbat, Game development
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сравнение элементов массивов cajiamahdpa Общие вопросы Javascript 1 17.10.2016 11:29
Сравнение 2 массивов в each Vladislav306907 jQuery 1 23.06.2016 01:10
Сравнение элементов массивов nesfiraty Общие вопросы Javascript 20 13.01.2015 19:23
сравнение массивов bot87 Общие вопросы Javascript 4 22.09.2012 01:31