Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pomocy funkcja drop
Forum PHP.pl > Forum > XML, AJAX
bartek6949
  1. <head>
  2. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  3. <link rel="stylesheet" type="text/css" href="style.css" />
  4. <style type="text/css">
  5.  
  6.      #tooltip {
  7.  
  8.  /* WYGLĄD */
  9.  text-align:left;
  10.  white-space:nowrap;
  11.  color:#fff;
  12.  font:normal bold 10px Verdana, sans-serif;
  13.  padding:4px;
  14.  background:#000;
  15.  
  16.  /* ROZMIESZCZENIE */
  17.  position:absolute;
  18.  margin-top:30px; /* odległość w pionie od kursora myszy */
  19. }
  20.  
  21.  
  22. </style>
  23. <script type="text/javascript" src="mintAjax.js"></script>
  24. <script type="text/javascript" src="skinnytip.js"></script>
  25. <script type="text/javascript">
  26.  
  27. var eq = {}, bag = null, url = "update.php";
  28.  
  29. var reqConfig = {
  30. // ustawienia wysyłanych zapytań
  31. }
  32. function AddItem(id, typ,id_ekwi, amount, name, img) {
  33. // tworzymy nowy element z przedmiotem
  34. id = (name) ? id_ekwi : id_ekwi;
  35. id_ekwi = (name) ? id_ekwi : id_ekwi;
  36. name = (name) ? name : name;
  37. amount = (amount) ? amount : amount;
  38. img = (img) ? img : img;
  39. var item = $C("div", id, "item "+typ);
  40.  
  41. //deklaruje zmienna amount1
  42. var amount1= amount;
  43. // przypisujemy nazwę przedmiotu do elementu (potrzebne przy wysyłaniu do serwera)
  44. item.name = id_ekwi;
  45. // generujemy nazwę pliku obrazka
  46. item.style.backgroundImage = "url(items/"+img+".gif)";
  47. item.title = name;
  48. item.alt = name;
  49. item.typ = typ;
  50. item.img = img;
  51. // rejestrujemy przedmiot jako przeciągalny
  52. var drag = mint.gui.RegisterDragObject(item);
  53.  
  54. // funkcja wywoływana po upuszczeniu elementu
  55. drag.OnDragStop = function(obj) {
  56.  
  57. // sprawdzamy czy element został upuszczony w ekwipunku, jeśli nie wstawiamy go do plecaka
  58.  
  59. if (!obj.dragObject.dropZone) bag.InsertItem(obj);
  60.  
  61. }
  62.  
  63. drag.dragClass = 'alpha';
  64.  
  65. if( amount1 == '1'){
  66. // wstawiamy element do plecaka
  67. $("eq-"+typ+"").appendChild(item);
  68. }else{
  69. $("bag").appendChild(item);
  70. }
  71. }
  72. function InitEq() {
  73. // nazwy pól ekwipunku gdzie będą wstawiane przedmioty
  74. var slots = ["head", "rhand", "torso", "shield", "legs"];
  75.  
  76. for(var s in slots) {
  77. // rejestrujemy pole jako kontener (nazwa slotu z tabeli)
  78. eq[slots[s]] = mint.gui.RegisterDropZone("eq-"+slots[s]);
  79.  
  80. // ustawiamy kontener
  81. eq[slots[s]].insertInside = false;
  82. eq[slots[s]].useDummyNode = false;
  83. eq[slots[s]].acceptClass = slots[s];
  84.  
  85. // przypisujemy nazwę pola
  86. eq[slots[s]].name = slots[s];
  87.  
  88. // funkcja wywoływana po dodaniu przedmiotu
  89. eq[slots[s]].OnAdd = function(obj) {
  90. var item = this.obj.firstChild;
  91. if(this.obj.childNodes.length > 1) {
  92. this.RemoveItem(item);
  93. bag.InsertItem(item);
  94. }
  95.  
  96. if (this.name) {
  97. if (this.name == 'lhand' || this.name == 'rhand') {
  98. if (obj.className == 'item rhand lhand alpha') {
  99. ts = (this.name == 'lhand') ? 'r' : 'l';
  100. $('eq-'+ts+'hand').innerHTML = '<div id="'+obj.id+'" class="item larms rarms" style="background-image: url(items/'+obj.img+'.png); float: left; clear: none;" title="'+obj.title+'"/>';
  101. }
  102. }
  103. }
  104.  
  105.  
  106.  
  107.  
  108.  
  109. // wysyłamy zapytanie do serwera aktualizujące ekwipunek w bazie danych
  110. var req = mint.Request().Set(reqConfig);
  111. // identyfikator pola do którego został dodany przedmiot
  112. req.AddParam("slot", this.name);
  113. // nazwa przedmiotu
  114. req.AddParam("item", obj.name);
  115. req.AddParam("name", obj.title);
  116. req.AddParam("id", obj.id);
  117. // akcja
  118. req.AddParam("action", "dodaj");
  119. // aktualizujemy dane na serwerze
  120. req.Send("ekwibaza.php", "response");
  121. }
  122. eq[slots[s]].OnRemove = function(obj) {
  123. var req = mint.Request().Set(reqConfig);
  124.  
  125. // identyfikator pola do którego został dodany przedmiot
  126. req.AddParam("slot", this.name);
  127. // nazwa przedmiotu
  128. req.AddParam("item", obj.name);
  129. req.AddParam("name", obj.title);
  130. req.AddParam("id", obj.id);
  131. // akcja
  132. req.AddParam("action", "zdejmij");
  133. // aktualizujemy dane na serwerze
  134. req.Send("ekwibaza.php", "response");
  135.  
  136.  
  137. }
  138. }
  139. }
  140.  
  141.  
  142. function InitBag() {
  143. // rejestrujemy plecak jako kontener
  144. bag = mint.gui.RegisterDropZone("bag");
  145.  
  146. bag.OnAdd = function(obj) {
  147. var item = this.obj.firstChild;
  148.  
  149. }
  150. }
  151.  
  152.  
  153.  
  154. </script>
  155.  
  156. <script language="javascript">
  157. function OnLoad()
  158. {
  159. InitEq();
  160. InitBag();
  161. <?php
  162. $zapytanie2 = "SELECT `iditem`,`eq`,`id` FROM `itempl` WHERE `uzytkownik`='$login' LIMIT 20";
  163. $count = mysql_query($zapytanie2);
  164. while ($konie = mysql_fetch_row($count))
  165. {
  166. $id = $konie[0];
  167. $zal = $konie[1];
  168. $id2 = $konie[2];
  169.  
  170.  
  171. $zapytanie = "SELECT `id`,`typ`,`img`,`opis` FROM `item` WHERE `id`='$id'";
  172. $idzapytania = mysql_query($zapytanie);
  173. while ($tt=mysql_fetch_row($idzapytania))
  174. {
  175. echo 'AddItem(';
  176. echo "'$id' ,'$tt[1]','$id2', '$zal', '$tt[3]','$tt[2]' ";
  177. echo ');';
  178. }
  179. }
  180. ?>
  181. }
  182. </script>
  183.  
  184.  
  185.  
  186.  
  187. </head>
  188.  
  189. <body onload="OnLoad()">
  190.  
  191. <div id="eq">
  192. <div id="eq-head" class="slot"></div>
  193. <div id="eq-rhand" class="slot"></div>
  194. <div id="eq-torso" class="slot"></div>
  195.  
  196. <div id="eq-shield" class="slot"></div>
  197. <div id="eq-legs" class="slot"></div>
  198. </div>
  199.  
  200. <div id="bag-outer">
  201. <div id="bag"></div>
  202. </div>
  203. <div id="response"></div>
  204. </body>

jestes to skrypt ekwipunku do mojej gry ale jestes jeden problem a mianowiceie gdy chce wlozyc przedmiot z plecaka=bag to dziala to bez problemu przenosze i juz sie pojawia a jezeli z eq do plecaka to sie nie zapisuje musze najpierw kliknac na item w eq a nastepnie go przeniesc w tedy za dziala .
prosze pomozcie
erix
Cytat
prosze pomozcie

Czy dajcie gotowca? Chyba nie oczekujesz, że ktoś tego tasiemca będzie przeklejał do siebie i testował?

Wrzuć gdzieś działającą wersję.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.