Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ktinho

como mover um objeto em um array sem que ele se replique;

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.