Não, o problema não é o nome do parâmetro. O problema é o que você está recebendo como paramento.
Por exemplo, no seu caso do método posicao(x)
:
function posicao (x) {
var z = x.pageX - tela.offsetLeft;
var j = x.pageY - tela.offsetTop;
}
function mudarPosicao{
posicao(10);
posicao(1);
posicao(99);
}
Nesse caso o que a função posição vai receber como parâmetro é o número 10, na segunda chamada dessa função ele vai receber o 1 e na terceira vez ele vai receber 99.
Esse código não vai funcionar,Independente do nome do parâmetro que colocamos na função posicao
. Já que o número 10, 1 ou 99 não possuem a propriedade PageX.
O que acontece é que quem passa o parâmetro para o seu método dispara
é o browser. Isso por que você registrou essa função com o evento de onClick
do canvas.
function dispara(evento) {
// descobre onde o usuário clicou para comparar a seguir com a posição atual do alvo
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
...
}
// associa a função `dispara` ao clique do canvas, ou seja, da nossa tela.
tela.onclick = dispara;