Pagina 1 di 1

[RISOLTO] - [JS] Terzo livello di funzioni

Inviato: mercoledì 16 aprile 2014, 22:27
da treled
Salve, sto provando e mi sta riuscendo ad fare la mia famosa libreria..
adesso volevo provare ad fare una cosa del genere:
gamelib.input.mouse.ismove

il codice è questo:

Codice: Seleziona tutto

/* Input */
	this.input = 
	{
		keyDown : function(event)
		{
			window.addEventListener('keydown', event, false);
		},
		keyUp : function(event)
		{
			window.addEventListener('keyup', event, false);
		},
		this.mouse = {
		isMove: function(event)
		{
			game.addEventListener('mousemove', event, false);
		},
		isClick: function(event)
		{
			game.addEventListener('click', event, false);
		}
		};
		
	};
l'errore che mi viene fuori è questo:
Uncaught SyntaxError: Unexpected token .
dove sta:
this.mouse

cosa devo fare?

grazie mille.
buona settimana.

Re: [JS] Terzo livello di funzioni

Inviato: mercoledì 16 aprile 2014, 22:29
da Zoff
Non dei usare "this.mouse =" ma "mouse:"

Re: [JS] Terzo livello di funzioni

Inviato: mercoledì 16 aprile 2014, 22:33
da treled
ora mi da : Uncaught SyntaxError: Unexpected identifier
che faccio?

Re: [JS] Terzo livello di funzioni

Inviato: mercoledì 16 aprile 2014, 22:33
da Zoff
Su cosa?

Re: [JS] Terzo livello di funzioni

Inviato: mercoledì 16 aprile 2014, 22:35
da treled

Codice: Seleziona tutto

Mouse: {
			isMove: function(event)
			{
				game.addEventListener('mousemove', event, false);
			},
			isClick: function(event)
			{
				game.addEventListener('click', event, false);
			}
		};

Re: [JS] Terzo livello di funzioni

Inviato: mercoledì 16 aprile 2014, 22:36
da Zoff
Posta il codice completo.
Non vedo errori, forse il ;

Re: [JS] Terzo livello di funzioni

Inviato: sabato 19 aprile 2014, 13:56
da treled
grazie mille

idee?

Re: [JS] Terzo livello di funzioni

Inviato: sabato 19 aprile 2014, 13:57
da treled
ora in questo pezzo di codice, come posso fare ad fare input.mouse.isdown , input.mouse.ismove, input.keyboard.isdown, etc..

Codice: Seleziona tutto

  /* Input */
 this.input = 
   {
       keyDown : function(event)
       {
           window.addEventListener('keydown', event, false);
       },
      keyUp : function(event)
     {
           window.addEventListener('keyup', event, false);
     },
      MouseMove: function(event)
          {
               game.addEventListener('mousemove', event, false);
           },
      MouseClick: function(event)
         {
               game.addEventListener('click', event, false);
           }
        
         
    };

Re: [JS] Terzo livello di funzioni

Inviato: sabato 19 aprile 2014, 14:05
da Zoff
Scusa ma input.mouse cosa sarebbe?

Re: [JS] Terzo livello di funzioni

Inviato: sabato 19 aprile 2014, 15:12
da treled
adesso faccio cosi:

Codice: Seleziona tutto

gamelib.input.MouseMove(game_mouseMove);
gamelib.input.MouseClick(game_mouseDown);

function game_mouseMove (ev) {
  if (ev.layerX || ev.layerX == 0) { // Firefox
    posy = ev.layerY;
  } else if (ev.offsetX || ev.offsetX == 0) { // Opera & Chrome
    posy = ev.offsetY;
  }
}

function game_mouseDown (e) {
	if (ballvx == 0) {  ballvx = 10; ballvy = 0.4;
		clickmouse.play();
	}
}
ma volevo un'altro livello di funzione che mi mette a disposizione le funzioni più leggibili.

ti ringrazio molto.

Re: [JS] Terzo livello di funzioni

Inviato: sabato 19 aprile 2014, 16:24
da Zoff
Boh, non capisco cosa non ti riesce. Comunque:

Codice: Seleziona tutto

    this.input =
            {
                keyDown: function(event)
                {
                    window.addEventListener('keydown', event, false);
                },
                keyUp: function(event)
                {
                    window.addEventListener('keyup', event, false);
                },
                MouseMove: function(event)
                {
                    game.addEventListener('mousemove', event, false);
                },
                MouseClick: function(event)
                {
                    game.addEventListener('click', event, false);
                },
                mouse: {
                    isdown: '????',
                    ismove: '????',
                },
                keyboard: {
                    isdown: '????'
                }
            };
Ho messo '????' dove non so cosa vuoi mettere tu.

Re: [JS] Terzo livello di funzioni

Inviato: sabato 19 aprile 2014, 17:28
da treled
ho provato cosi:

Codice: Seleziona tutto

/* Input */
	this.input = 
	{
		 mouse: {
                    isdown:{ game.addEventListener('click', event, false);},
                    ismove:{ game.addEventListener('mousemove', event, false);}
                },
                keyboard: {
                    isdown: {window.addEventListener('keydown', event, false);}
                }
	};
Ma mi ritorna:
Uncaught SyntaxError: Unexpected token .

come faccio?.
grazie mille.

Re: [JS] Terzo livello di funzioni

Inviato: sabato 19 aprile 2014, 19:16
da Zoff
Metti una funzione anziché {} come hai fatto in tutti gli altri casi

Re: [JS] Terzo livello di funzioni

Inviato: sabato 19 aprile 2014, 21:51
da treled

Codice: Seleziona tutto

this.input = 
	{
		 mouse: {
                    isdown: function(event){ game.addEventListener('click', event, false);},
                    ismove: function(event){ game.addEventListener('mousemove', event, false);}
                },
                keyboard: {
                    isdown: function(event) {window.addEventListener('keydown', event, false);}
                }
	};
ok, fatto.

Re: [RISOLTO] - [JS] Terzo livello di funzioni

Inviato: domenica 20 aprile 2014, 0:33
da Zoff
Conviene comunque che guardi la differenza tra literal objects e funzioni.
Ad esempio: http://stackoverflow.com/questions/5754 ... implicatio