Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.04.2012, 19:26
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Проблема созданием игры!измениия координат кубика у всех игроков
Доброго времени суток!
Пишу игру, нужно чтобы 'кубики' которые перетаскивает один игрок с помощью drag and drop перетаскивались у всех других игроков.
Засовываю координаты в бд:
$().ready(function() {
$('li').Drags();
setInterval(function () {
var c =[$('.1').css('left'),$('.1').css('top')];
var r =[$('.2').css('left'),$('.2').css('top')];
var i =[$('.3').css('left'),$('.3').css('top')];
var bukv = [c,r,i];//Создаю двумерный массив с кубиками (использую далее только массив 'C')
var a = JSON.stringify(bukv);

    $.ajax({
      url: 'saveBD.php',
      type: 'POST',
      data: 'a='+ a,
      success: function(result) {
      $('#result').html(result);
      }
	  });
  },10);//передаем координаты кубиков в php файлик а от туда в бд

});
<?php
$db = mysql_connect('localhost','root','');//связываемся с сервером
mysql_select_db('lphp',$db);//выбираем бд
$json = $_POST['a'];//принимаем массив  json
$a = json_decode($json,true);//декодируем json
$xyK1 = mysql_query('SELECT * FROM 1kyb',$db);//выбираем все данные из таблицы бд
$xyK1 = mysql_fetch_array($xyK1);//пихаем их в массив
$xyK1[1] = $a[0][0];
$xyK1[2] = $a[0][1];//кидаем в бд координаты элементов из полученного json-ом массива
$xk1 = $xyK1[1];
$yk1 = $xyK1[2];
$result = mysql_query("UPDATE `lphp`.`1kyb` SET `x` = '$xk1',
`y` = '$yk1 '" ,$db);//обновляем бд?>

А вот дальше туплю, и не могу информацию стоящую по теме найти
Пробовал сет интервалом css менять нефига. запускаю в двух браузерах, если чуть чуть подвинуть кубик, то он начинает 'телепортироваться' то по координатам одного браузера то другого.(а нужно чтобы при изменении в одном менялись и в другом на такие же как в первом)
Фигня код:
$db = mysql_connect('localhost','root','');//связываемся с сервером
$xyK1 = mysql_query('SELECT * FROM 1kyb',$db);//выбираем все данные из таблицы бд
$xyK1 = mysql_fetch_array($xyK1);//пихаем их в массив
mysql_select_db('lphp',$db);//выбираем бд
$xyK1 = mysql_query('SELECT * FROM 1kyb',$db);//выбираем все данные из таблицы бд
$xyK1 = mysql_fetch_array($xyK1);//пихаем их в массив
$json = json_encode($xyK1);// опять кодируем в json
echo "<script language='javascript'>\n";
echo "var json = $json;\n"; // отправляем в js
echo "</script>";

setInterval(function(){
$('.1').css({'left': json[1], 'top':json[2]});
},1000);

Кто знает как проблему решить подскажите логику или ссылку на статью по теме дайте. Пожалуйста!
Заранее благодарю.
Ответить с цитированием
  #2 (permalink)  
Старый 28.04.2012, 14:16
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от l-liava-l
а нужно чтобы при изменении в одном менялись и в другом на такие же как в первом
"Первый" браузер (в котором Вы двигаете кубик) не знает, что он первый, также как и второй не знает, что он второй. И первый, и второй, и третий.. браузеры равнозначны и все они одинаково шлют запросы на сервер и получают обратно массив координат кубиков. В общем случае в первом браузере Вы можете не успеть сдвинут кубик, как его положение восстановится по ответу с сервера. Поэтому прежде всего надо каким-то образом определять, что один из браузеров ведущий, а остальные ведомые.
Ответить с цитированием
  #3 (permalink)  
Старый 29.04.2012, 18:09
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
Поэтому прежде всего надо каким-то образом определять, что один из браузеров ведущий, а остальные ведомые.
Да, но разве тогда не получится так, что всем заведует один браузер? а нам так не надо. я пробовал отправлять координаты только по зажатию мыши, но всеравно не получается.
Ответить с цитированием
  #4 (permalink)  
Старый 29.04.2012, 19:34
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

последовательные ходы. каждому отводится какое то время,дальше ход переходит к следующему
Ответить с цитированием
  #5 (permalink)  
Старый 29.04.2012, 20:47
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

да действительно то что хотел сделать пока что нереально.,
А как можно сделать выборку Всех символов вводимых textarea случайно не занете(можно ли вообще такое)? буду очень признателен!

Последний раз редактировалось l-liava-l, 29.04.2012 в 20:51.
Ответить с цитированием
  #6 (permalink)  
Старый 07.05.2012, 11:45
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от l-liava-l Посмотреть сообщение
А как можно сделать выборку Всех символов вводимых textarea случайно не занете(можно ли вообще такое)?
Чтобы получить весь текст из textarea, надо обратиться к его свойству value. Если же Вы хотите ловить буквально каждый символ по отдельности, то надо ставить обработчики событий на onkeypress и onkeydown, а также ловить события вставки в textarea с помощь мыши и т.д.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема со скриптом m2broth Events/DOM/Window 5 27.10.2011 14:29
Проблема со скриптом Lightbox F1eldy Общие вопросы Javascript 22 18.08.2010 16:04
Проблема со скриптом в IE 8 Tok_13 jQuery 3 05.01.2010 12:12
Проблема со скриптом в IE Чайник Элементы интерфейса 12 30.10.2009 16:40
Проблема со скриптом. AlexMak Firefox/Mozilla 3 14.11.2008 16:12