Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - Grafica e movimento in Javascript
Forum - Javascript - Grafica e movimento in Javascript

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 15:11
Domenica, 25/05/2014
Ho cercato su internet delle guide sul come realizzare dei movimenti di alcuni div nella pagina web.

Ho trovato un paio di librerie grafiche, tra cui JqFloat la quale fa ondeggiare semplicemente il div scelto in un tot di larghezza e in un tot di altezza.

Quale libreria posso usare per fare un movimento in linea retta fino a un totale di lunghezza che decido io?

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 16:18
Domenica, 25/05/2014
Guarda, dalla tua domanda si capisce subito che più che una libreria, ti serve molto studio dello Javascript, per quanto riguarda le animazioni e l'interazione con l'html dopo uno studio approfondito di Javascript, ti consiglierei lo studio della libreria Jquery che migliora la sintassi dello javascript e la sua possibilita di interagire con la pagina.

PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 16:28
Domenica, 25/05/2014
Ok grazie mille ;)

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 16:45
Domenica, 25/05/2014


Il mio blog: https://piero.dev
PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 16:54
Domenica, 25/05/2014
Per esempio a me era venuto in mente di creare in una pagina web una pedina che si muoveva nelle direzioni che l'utente dava con le frecce direzionali.

Con il CSS non credo che si possano gestire gli eventi della tastiera, con il Javascript sì.

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 17:02
Domenica, 25/05/2014
Allora il CSS3 è un ottima idea per le sole animazioni, purtroppo non ho mai approfondito l'argomento, perché trovavo molto piu semplice compatta e modulabile l'operazione da JS con JQuery, visto anche il fatto che mi potevo scrivere le estensioni per conto mio.

Ad ogni modo credo che nel tuo caso il solo CSS non basti assolutamente.
Tienilo comunque presente, come faro io, per altri progetti.

PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 18:55
Domenica, 25/05/2014
Ok

PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 15:12
Mercoledì, 04/06/2014
Come consigliato mi sto esercitando con la libreria JQuery e ho realizzato una specie di giochino nel quale ho due pedine che si muovono in un determinato spazio. Per il momento tutto questo non ha un determinato scopo ma quando avrò imparato bene tutte le funzionalità di JQuery potrò sbizzarrirmi in molte idee.

Ecco il codice completo:
Codice sorgente - presumibilmente Javascript

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml"><head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>gioco</title>
  4. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  5.  
  6. <script type="text/javascript" src="http://www.html.it/guide/esempi/jquery/esempi/jquery-1.3.2.js"></script>
  7. <style type="text/css">
  8. #contenitore
  9. {
  10.     position:relative;
  11.     background:#efefef;
  12.     display:block;
  13.     width:400px;
  14.     height:400px;
  15. }
  16. ul {
  17.         list-style-type: disc;
  18.         padding: 10px;
  19.         background-color:#FFFFFF;
  20. }
  21. ul li {
  22.         margin-top: 3px;
  23.         margin-bottom: 3px;
  24.         line-height: 16px;
  25. }
  26. #box {
  27.         position:absolute;
  28.         top:0;
  29.         left:0;
  30.         display:block;
  31.         width:50px;
  32.         height:50px;
  33.         background-color:#CCCCCC;
  34.         border:1px solid #666666;
  35. }
  36. #box2 {
  37.         position:absolute;
  38.         top:347.5px;
  39.         left:347.5px;
  40.         display:block;
  41.         width:50px;
  42.         height:50px;
  43.         background:red;
  44.         border:1px solid #666666;
  45. }
  46. </style>
  47. <script type="text/javascript">
  48. var keys = {};
  49. $(document).keydown(function (evt) {
  50.         keys[evt.which] = true;
  51.  
  52.    var charCode = (evt.which)?evt.which:event.keyCode;
  53.    switch (charCode)
  54.    {
  55.    //MOSSE GRIGIO
  56.    case 97:
  57.       test_animate_left ();
  58.       break;
  59.    case 115:
  60.       test_animate_down ();
  61.       break;
  62.    case 100:
  63.       test_animate_right ();
  64.       break;
  65.    case 119:
  66.       test_animate_up ();
  67.       break;
  68.    case 65:
  69.       test_animate_left ();
  70.       break;
  71.    case 83:
  72.       test_animate_down ();
  73.       break;
  74.    case 68:
  75.       test_animate_right ();
  76.       break;
  77.    case 87:
  78.       test_animate_up ();
  79.       break;
  80.    //MOSSE ROSSO
  81.    case 37:
  82.       test2_animate_left ();
  83.       break;
  84.    case 40:
  85.       test2_animate_down ();
  86.       break;
  87.    case 39:
  88.       test2_animate_right ();
  89.       break;
  90.    case 38:
  91.       test2_animate_up ();
  92.       break;
  93.     }
  94.  
  95. function test_animate_up () {
  96.        
  97.         $("#box").animate({
  98.                
  99.                 "marginTop" : "-=4px"
  100.                 },
  101.                 "fast",
  102.                 function () {  
  103.                 }
  104.         );
  105. }
  106. function test_animate_down () {
  107.        
  108.         $("#box").animate({
  109.                
  110.                 "marginTop" : "+=4px"
  111.                 },
  112.                 "fast",
  113.                 function () {  
  114.                 }
  115.         );
  116. }
  117. function test_animate_right () {
  118.      
  119.  
  120.         $("#box").animate({
  121.                
  122.                 "marginLeft" : "+=4px"
  123.                 },
  124.                 "fast",  
  125.                 function () {
  126.                        
  127.                 }
  128.         );
  129. }
  130. function test_animate_left () {
  131.    
  132.         $("#box").animate({
  133.    
  134.                 "marginLeft" : "-=4px"
  135.                 },
  136.                 "fast",  
  137.                 function () {
  138.                                
  139.                 }
  140.         );  
  141. }
  142. function test2_animate_up () {
  143.        
  144.         $("#box2").animate({
  145.                
  146.                 "marginTop" : "-=4px"
  147.                 },
  148.                 "fast",
  149.                 function () {  
  150.                 }
  151.         );
  152. }
  153. function test2_animate_down () {
  154.        
  155.         $("#box2").animate({
  156.                
  157.                 "marginTop" : "+=4px"
  158.                 },
  159.                 "fast",
  160.                 function () {  
  161.                 }
  162.         );
  163. }
  164. function test2_animate_right () {
  165.      
  166.  
  167.         $("#box2").animate({
  168.                
  169.                 "marginLeft" : "+=4px"
  170.                 },
  171.                 "fast",  
  172.                 function () {
  173.                        
  174.                 }
  175.         );
  176. }
  177. function test2_animate_left () {
  178.    
  179.         $("#box2").animate({
  180.    
  181.                 "marginLeft" : "-=4px"
  182.                 },
  183.                 "fast",  
  184.                 function () {
  185.                                
  186.                 }
  187.         );  
  188. }
  189.  
  190. });
  191.  
  192. $(document).keyup(function (evt) {
  193.     delete keys[evt.which];
  194. });
  195.  
  196.  
  197.  
  198. </script>
  199. </head>
  200. <body>
  201. <div id="out"></div>
  202. <div id="contenitore">
  203. <div id="box"></div>
  204. <div id="box2"></div>
  205. </div>
  206. <script>
  207.  
  208. </script>
  209. </body></html>


Potete vedere l'esempio in esecuzione a http://www.benzocode.altervista.org/copia_di_gioco.html
A questo punto ho due problemi/domande:

1)Come faccio a far muovere i quadratini box e box2 contemporaneamente?
2)Come posso fare per gestire il contatto tra le due figure?

Aspetto impazientemente risposte...:k: (anche solo a una delle due) (codice sistemato :))

Ultima modifica effettuata da pbe il 05/06/2014 alle 13:57
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 15:48
Mercoledì, 04/06/2014
pbe scusa se ti metto in difficoltà ma se lavori su un server "pubblico" potresti postare una demo del tuo progetto cosi da aiutarti con facilità.

Grazie

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo