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