Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Словить коориднаты курсора (https://javascript.ru/forum/misc/9747-slovit-kooridnaty-kursora.html)

lammeR 04.06.2010 01:11

Словить коориднаты курсора
 
Привет всем!
Сразу к делу! Есть 2 дива, которые расположены в виде буквы "Т", то есть образуют перпендикуляр. Как мне их пометить по координатам, ну мол, если координаты курсора совпадают с координатами дивов вывести какое-нить сообщение ?

Riim 04.06.2010 04:29

http://javascript.ru/forum/search.php

lammeR 04.06.2010 05:40

Riim,
Не нашёл чего-то( Объясню подробнее, я буду делать стенки в игре из дивов, вот, нужно будет провести курсор не прикасаясь к этим стенкам, если курсор попадает по стенке, игра начинается сначала, просто я не знаю как мне взять координаты дива, чтобы при прикосновении курсора со стенкой проверять координаты. Может я неправильный подход выбрал ?

exec 04.06.2010 07:10

lammeR, вешайте на onmousemove документа функцию, которая будет сравнивать текущее положение курсора (event.pageX/event.pageY) и положение div'-а.

рони 04.06.2010 08:21

а не проще onmousemove повесить прямо на дивы? и никаких координат не понадобиться вычислять

Riim 04.06.2010 12:14

может onmouseover и onmouseout ?

lammeR 04.06.2010 14:02

exec,
положение дива как определить то) ? :D

Kolyaj 04.06.2010 14:44

lammeR,
зачем вам положение дива-то?

exec 04.06.2010 16:56

lammeR, я плохо подумал, можно просто mouseover на div'-е ловить.

Kolyaj 04.06.2010 16:58

Цитата:

Сообщение от lammeR
положение дива как определить то) ?

http://javascript.ru/ui/offset

lammeR 04.06.2010 18:34

рони,
exec,
Kolyaj,
Это просто у меня лабораторка, я знаю, что можно просто маусовер ловить на диве, но как-то просто всё.... . А вот по координатам было бы интересно.

lammeR 04.06.2010 18:43

Ребят, ладно, со стенками оставлю так. Можете мне подсказать, дать совет как мне стенки(дивы или спаны) располагать, может сделать как-то в массиве 12х12 ? Просто хотел бы потом стены генерить рэндомно.

exec 04.06.2010 18:59

lammeR, создавайте массив, в котором каждый подмассив будет соответствовать строке, а элемент подмассива — ячейке карты. Если значение 0 — ячейка белая, 1 — ячейка чёрная.

lammeR 04.06.2010 19:03

exec,
угу)

lammeR 04.06.2010 20:41

.cells{
width:50px; height:50px; background:#CCCCCC;  border:1px solid #824a00;
}
.celltr
{
 width:50px; height:50px; background:#c78023;  border:1px solid #824a00;
}

function lose()
{
  alert("Попал по стене!");
}
      var res=0;
      document.write("<table cellspacing='1' cellpadding='0' >");
	     for(var i=0;i<10;i++)
		       {
			       document.write("<tr>");
				   for(var j=0;j<10;j++)
				   {
				    	if(i==3&&j==1||i==3&&j==2||i==3&&j==3||i==5&&j==3||i==5&&j==4||i==5&&j==5||i==4&&j==4||i==3&&j==4||i==6&&j==5||i==7&&j==5||i==7&&j==6||i==7&&j==7||i==7&&j==9)
						{
							 document.write("<td class='celltr' onmouseover='lose()'></td>");
						}
						else{document.write("<td class='cells'></td>");}
				   }
							
				   document.write("</tr>");
			   }
	  document.write("</table>");

Вот, кое-что написал, без массивов, просто таблицей, извиняюсь за назойливость, но не знаю как эти проверки рэндомить((

boy_cow 05.06.2010 01:55

Цитата:

Сообщение от exec
создавайте массив, в котором каждый подмассив будет соответствовать строке, а элемент подмассива — ячейке карты. Если значение 0 — ячейка белая, 1 — ячейка чёрная.

Exec, не могли бы Вы показать примерчик маленькой. А то тоже не могу понять ничего.

рони 05.06.2010 03:34

чего-то не спалось)))
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
function lose()
{
  alert("Попал по стене!");
}
var t = "<table cellspacing='1' cellpadding='0' >";
var y = "<td class='celltr' onmouseover='lose()'></td>";
var n = "<td class='cells'></td>";
var p = 15; //процент заполнения
var rows = 12; //количество строк
var columns = 12; //количество колонок
for (var i = 0; i<rows; i++) {t += "<tr>";
  for (var k = 0; k<columns; k++) {t += Math.random()<(p/100)? y: n;}
  t += "</tr>";
}
t += "</table>"
document.write(t);
/*]]>*/
</script>

lammeR 05.06.2010 04:15

рони,
Спасибище) Можно уточнение здесь Math.random()<(p/100)? y: n; ?
Вы - мозг)

рони 05.06.2010 04:28

Math.random() генерирует от 0 до 1 если оно меньше заданого процента
в примере это 0.15
прибавляем ячейку у иначе ячейку n
а в целом это условный оператор http://javascript.ru/cond

lammeR 05.06.2010 04:30

рони,
понял, просто немного растерялся)


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