Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Столкновение объектов (https://javascript.ru/forum/misc/34545-stolknovenie-obektov.html)

css_js 09.01.2013 15:59

Столкновение объектов
 
Я пишу игру типа packman на js. И у меня возникла такая проблема: есть 2 div, один передвигается стрелками клавиатуры, другой неподвижен. Как определить столкновение между этими объектами????

devote 09.01.2013 16:49

это же простая математика.

godofjavascript 10.01.2013 03:08

люди пишут игры но не могут определять столкновения.. охуеть. 2013 год..

Dmitriyff 10.01.2013 12:19

тут не от года зависит, а от качества образования, или же желания поискать необходимую информацию,

ссыль

nerv_ 10.01.2013 13:26

Цитата:

Сообщение от godofjavascript
люди пишут игры но не могут определять столкновения.. охуеть. 2013 год..

http://javascript.ru/forum/misc/3455...tml#post226386

godofjavascript 10.01.2013 14:33

В принципе я с dom работать не совсем умею) но пишу шаблонизатор.
Но тут немного другое. :-)

JsLoveR 11.01.2013 06:55

Если прямоугольники параллельны осям.
<script type="text/javascript">

window.onload = function() {
	
	var box1 = document.getElementById("box1");
	var box2 = document.getElementById("box2");
	
	function rect2Rect(obj1, obj2) {
	   return ( obj1.offsetLeft <= obj2.offsetLeft + obj2.offsetWidth && obj1.offsetLeft + obj1.offsetWidth  >=  obj2.offsetLeft && obj1.offsetTop + obj1.offsetHeight >=  obj2.offsetTop && obj1.offsetTop <= obj2.offsetTop +  obj2.offsetHeight );
	}

	function move() {
	   if(!rect2Rect(box1, box2)) {
	     setTimeout(function() {
		   box1.style.left = box1.offsetLeft + 5 + "px";
		   box2.style.top = box2.offsetTop - 5 + "px";
		   move();
	     }, 50);
	   }
	   else{
	     alert("Столкновение");
	   }
	}
	move();
}
</script>

<div id="box1" style=" width:30px; height:30px; background-color:#0099FF; position:absolute; left:10px"></div>
<div id="box2" style=" width:30px; height:30px; background-color:#CCCC00; position:absolute; left:100px; top:100px; "></div>

monolithed 11.01.2013 16:56

Цитата:

Сообщение от godofjavascript
люди пишут игры но не могут определять столкновения.. охуеть. 2013 год..

Уже некоторое время я пишу на Haskell и до сих пор не разобрался с теорией проектирования монад, что мне теперь по вашей логике делать, забить на изучение языка?

Не знаете ответа - не пишите хуйню!

9xakep 12.01.2013 10:50

css_js,
Ну смотри если координаты одного близки к координатам другого

А вообще это олдскул, пиши на канвасе или свг в конце-то концов

godofjavascript 12.01.2013 14:10

Цитата:

Сообщение от monolithed
что мне теперь по вашей логике делать, забить на изучение языка?

нет из моей логики этого не следует из моей логики, тупица, следует то что нужно учить с основ.


Часовой пояс GMT +3, время: 15:57.