como mover um objeto em um array sem que ele se replique;
galera preciso de uma logica de programacao que move um objeto ou tipo coloco a propriedade e detecto se mu mudou o valor e em sequencia mude a localizacao do objeto,
e assim tenho um mapa que contem 50 x 50 tiles e nos tiles tem objetos e eu que mover esses objetos com a seguinte propriedade veja o codigo abaixo;
var playerx = 10;
var playery = 15;
function drawMap(){
for(i=0;i<map.length;i++){
for(j=0;j<map[i].length;j++){
var drawTile = map[i][j];
var drawObj = objectMap[i][j];
var xpos = (i-j)*tileH + mapX;
var ypos = (i+j)*tileH/2+ mapY;
ctx.drawImage(tileImg[drawTile],xpos,ypos);
if(drawObj){
ctx.drawImage(objectImg[drawObj-1],xpos,ypos-(objectImg[drawObj-1].height));
}
para adicionar o objeto eu uso essa propriedade;
objectmap[playerx][playery] = 1;
e para remover eu uso a funcao delete;
delete objectmap[playerx][playery] ;
oque acontece e que o objeto fica nas posicoes 10 e 15 que e o valor das variaveis playerx e playery, mas eu tenho uma funcao que pega a posicao do mouse e ao clicar muda a o valor de playerx e playery, mas acontece que conforme o valor da funcao muda vai adicionando objetos no mapa, sem remover o ultimo.
ai vai preenchendo o mapa, mas eu quero que o objeto so esteja onde fica o playerx e playery,
vcs sabem como fazer isso com um if ou de outro modo?
se nao entenderao diga ai que eu posto denovo.
Discussão (0)
Carregando comentários...